[英]WPF XAML combobox synchronized with the actual value upon updated ItemsSource
我的組合框與實際選擇的值保持同步時出現問題。 我有一個數據網格,它將選定的行值綁定到一個對象。 所選對象的屬性代碼值為“ test2”。
我的組合框有一個選項“ test1”,“ test2”和“ test3”
當我選擇此對象時,組合框將使用正確的值“ test2”進行更新,但是在更新ItemsSource時,由於我使用isSynchronizedWithCurrentItem = true,它會自動在組合框中設置第一個替代項。 我的應用程序每10秒輪詢一次新項目,然后更新/刷新itemssource,那么我的問題是,如何使組合框與實際選擇的組合框替代/項目同步?
就像如果我選擇“ test3”並且itemssource更新一樣,組合框仍將顯示“ test3”,而不是第一個默認值“ test1”。 或者更確切地說,如果我沒有選擇其他值,那么它將與所選對象“ test”的當前值保持不變?
這是我的XAML代碼:我綁定到的對象是一個公共UserObject對象。
<TextBlock Grid.Column="1" Grid.Row="0" Text="Name:" VerticalAlignment="Center" />
<telerik:RadComboBox Grid.Column="2" Grid.Row="0" Text="{Binding Object.Code, Mode=TwoWay}" Margin="4 4 0 4" FontSize="13" IsReadOnly="True" ItemsSource="{Binding Objects}"
DisplayMemberPath="Code" SelectedValue = "{Binding Object.Code}" SelectedValuePath="Code"
SelectedItem="{Binding SelectedCode}" IsSynchronizedWithCurrentItem="True" />
我怎樣才能解決這個問題?
您可以嘗試以下方法:
private void RefreshFunc()
{
string objectCode = Object.Code;
//update/refresh the itemssource
ToRefreshItemsSource();
Object.Code = objectCode;
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.