我正在处理WPF ComboBox的以下问题:
XAML:
我打开窗口并获得绑定到我的数据模型的ComboBox,我选择一些项目(例如1),一切都很好。
我将数据上下文更改为新的数据模型 - 所选项目是(令我惊讶的是)1...我不希望有任何选定的项目...
我怀疑这与ComboBox搜索被禁用和可编辑有关,但我不确定问题出在哪里。
我找到了一个解决方法:在绑定到DataContext的ContentControl上调用UpdateLayout(),但这很丑陋。
这是WPF的错误吗?这都是我的错吗?
请帮忙。
XAML:
<Window.Resources>
<ResourceDictionary>
<DataTemplate DataType="{x:Type this:Data}">
<ComboBox IsTextSearchEnabled="False" IsEditable="True"
Text="{Binding Value}" ItemsSource="{Binding Menu}"/>
</DataTemplate>
</ResourceDictionary>
</Window.Resources>
<StackPanel>
<ContentControl Content="{Binding}"/>
<Button Click="ChangeData_Click">Change Data</Button>
</StackPanel>
代码后台:
public Window1()
{
InitializeComponent();
DataContext = new Data();
}
void ChangeData_Click(object sender, RoutedEventArgs e)
{
DataContext = new Data();
}
我打开窗口并获得绑定到我的数据模型的ComboBox,我选择一些项目(例如1),一切都很好。
我将数据上下文更改为新的数据模型 - 所选项目是(令我惊讶的是)1...我不希望有任何选定的项目...
我怀疑这与ComboBox搜索被禁用和可编辑有关,但我不确定问题出在哪里。
我找到了一个解决方法:在绑定到DataContext的ContentControl上调用UpdateLayout(),但这很丑陋。
这是WPF的错误吗?这都是我的错吗?
请帮忙。