[ad_1]
こんにちは、私はMVVMパターンに従おうとしています.WPFアプリで2つの条件がある特定のグリッドを非表示にしたいと思っています.
私が試したこと:
C#
<Grid.Resources> <Style TargetType="{x:Type Grid}"> <Style.Triggers> <DataTrigger Binding="{Binding collection1.Count}" Value="0"> <Setter Property="Visibility" Value="Collapsed"/> </DataTrigger> </Style.Triggers> </Style> </Grid.Resources>
ここで、上記のコードで実行したい別のチェックがあります。 Binding="{Binding collection1.Count}"
また Binding="{Binding collection2.Count}"
それらの値のいずれかが0の場合、実装します <Setter Property="Visibility" Value="Collapsed"/>
datatrigger を使用してこれを行うにはどうすればよいですか (可能な場合)。 できますか IValueConverter
これを行うために使用されますか? どうやって ?
解決策 1
これほど単純な場合は、次の 2 つのトリガーを追加するだけです。
XAML
<Style.Triggers> <DataTrigger Binding="{Binding collection1.Count}" Value="0"> <Setter Property="Visibility" Value="Collapsed" /> </DataTrigger> <DataTrigger Binding="{Binding collection2.Count}" Value="0"> <Setter Property="Visibility" Value="Collapsed" /> </DataTrigger> </Style.Triggers>
いずれかのコレクションが空の場合、グリッドは非表示になります。
さらに複雑な場合は、ビューモデルにプロパティを追加して、グリッドを表示するかどうかを示します。 あなたが上げたことを確認する必要があります PropertyChanged
依存する値のいずれかが変更されるたびに、そのプロパティのイベント。
[ad_2]
コメント