Selector
を使用して子コントロールを切り替えるSelectorSwitchedControl というコントロールがあります。単純化されたタブ コントロールの線に沿って考えますが、タブの代わりにComboBox
orを使用します。ListBox
リストに複数の項目がある場合、セレクターを表示する必要があることを示すトリガーを構築しようとしています。
私が考えることができる唯一のことは、1 つではなく 2 つのトリガーを使用することです。コントロールのテンプレートでデフォルトでセレクターを表示できるようにしてから、セレクターを非表示にする 2 つの個別のトリガーを作成します。最初の条件テストではゼロ アイテムをテストし、2 つ目の条件テストでは 1 アイテムをテストします。これらのいずれかが一致すると、セレクターは非表示になります。2 つ以上の項目がある場合は、表示されたままになります。
それは機能しますが、マルチトリガーであっても、単一のトリガーを使用してこの動作を作成する方法があるかどうか疑問に思っています。ただし、MultiTrigger は「And」テストですが、「Or」テストが必要です。通常、ロジックを反転して MultiTrigger を「Or」のように動作するように変更できますが、個々のテストには「Not」条件などがないため、プロパティ自体がブール値である必要があります (つまり、「プロパティ」とは言えません)。 0 に等しくなく、1 にも等しくない')。
記録として、これに対処する方法としてコンバーターやコード ビハインドを簡単に使用できることはわかっていますが、これを行うための純粋な XAML の方法があるかどうか疑問に思っているので、この動作は他のコードなしでスタイル設定できます。依存関係。