したがって、カスタムデータテンプレートを持つComboBoxがあるとします。ボタンを含むItemTemplateを持つComboBox
<ComboBox Width="150" ItemsSource="{Binding MyItems}">
<ComboBox.ItemTemplate>
<DataTemplate>
<Button Content="ClickMe" />
</DataTemplate>
</ComboBox.ItemTemplate>
</ComboBox>
これに伴う問題は、ボタンがクリックを食べることで、ボタンが選択された場合に項目が選択されません:データテンプレート内の項目の一つはボタンです。これは、プルダウンが消えず、項目が選択されていないことを意味します。
私はこれがなぜ起こっているのですか?
回避策はありますか?おそらく、ボタンのクリックを処理する方法(私はコマンドにバインドしています)とコンボボックスもクリックを処理できるようにチェーンを続けるよう指示しますか?
注:私はSilverlightで私の問題を見ていますが、私はWPFで全く同じ動作が見られると推測しています。
ええ、私はそれを考えましたが、それを行うことは、コンボボックスが作成するプルダウンを却下しません。 –
ComboBoxにはIsOpen(または非常に似たような)プロパティもありますが、Falseに設定することができます。また、ボタンにFocusable = "False"を設定して、それが自動的に起こるようにすることもできます。 –
ええ、それは2つの組み合わせで終わった。私の答えは完全な解決策を見てください。しかし、私はあなたにクレジットポイントを与えたいので、あなたの答えを正しいものとしてマークしています。 –