簡體   English   中英

WPF XAML組合框與更新后的ItemsSource的實際值同步

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM