我的组合框与实际选择的值保持同步时出现问题。我有一个数据网格,它将选定的行值绑定到一个对象。所选对象的属性代码值为“ test2”。
我的组合框有一个选项“ test1”,“ test2”和“ test3”
当我选择此对象时,组合框将使用正确的值“ test2”进行更新,但是在更新ItemsSource时,由于我使用isSynchronizedWithCurrentItem = true,它会自动在组合框中设置第一个替代项。我的应用程序每10秒轮询一次新项目,然后更新/刷新itemssource,那么我的问题是,如何使组合框与实际选择的组合框替代/项目同步?
就像我选择“ test3”并且itemssource更新一样,组合框仍将显示“ test3”,而不是第一个默认值“ test1”。或者更确切地说,如果我没有选择其他值,它仍然会与所选对象“测试”中的当前值保持不变?
这是我的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" />
我该如何解决?
答案 0 :(得分:0)
您可以尝试以下操作:
private void RefreshFunc()
{
string objectCode = Object.Code;
//update/refresh the itemssource
ToRefreshItemsSource();
Object.Code = objectCode;
}