WPF で次の問題が発生していますComboBox
。
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 です... 選択されたアイテムはないと思います...
検索が無効で編集可能なコンボボックスと関係があると思われますが、何が問題なのかわかりません。
私は回避策を見つけました:境界のある を呼び出しますUpdateLayout()
が、それは醜いです。ContentControl
DataContext
それはWPFのバグですか?それはすべて私のせいですか?
助けてください