は、参考のために、私はそれとして、結合を必要としないバリエーションを作成しました空のテンプレートをトリガするためにListBox
のHasItems
プロパティを使用しています。
<ListBox.Style>
<Style x:Key="EmptyListStyle"
TargetType="ListBox"
BasedOn="{StaticResource {x:Type ListBox}}">
<Style.Triggers>
<!-- Use ListBox.HasItems instead of Binding -->
<Trigger Property="HasItems" Value="False">
<Setter Property="Template">
<Setter.Value>
<ControlTemplate>
<TextBlock>No items to display</TextBlock>
</ControlTemplate>
</Setter.Value>
</Setter>
</Trigger>
</Style.Triggers>
</Style>
</ListBox.Style>
これは、スタイルはしなくても、グローバルに使用することができますリストがバインドするプロパティー名を知っている。 XAMLで定義されているCollectionViewSource
にバインドすると便利です。
私はこの方法の欠点を認識していません。あなたが何かを見つける必要があれば歓迎します。
+1私によく見える、私はある日それを使用する必要があります。 – bendewey
これは非常にうまく動作します。 –
私はデータテンプレートセレクタで変種を見ましたが、これはコードビハインドがなく、素晴らしいです! – levanovd