ネストされたデータグリッドがあり、内部データグリッドにデータがない場合は外部データグリッドカラムを非表示にします。 MVVMパターンを使用しています。モデルは、ビューにバインドされたコレクション内のデータを埋め込みます。内部データグリッドの内容に基づいてネストされたデータグリッドカラムの可視性
コンポーネント1、2及び3のリストは、外側のデータグリッド内のデータグリッドを介して表示されます。各ラベルファミリーには、左右2つのコレクションがあります。
モデルに左ラベル収集のコンポーネントがない場合は、左の列を完全に非表示にします。下の画像のように。右欄も同様です。
これを達成するために私を助けてください。
私はこのサイトとGoogleの類似した状況を検索しましたが、これに類似したものは見つかりませんでした。ここで
は、XAMLコードです:
<DataGrid ItemsSource="{Binding Labels}"
CanUserAddRows="False"
CanUserDeleteRows="False">
<DataGrid.Columns>
<DataGridTemplateColumn Width="10*" >
<DataGridTemplateColumn.CellTemplate>
<DataTemplate>
<TextBlock Text="{Binding LabelFamily}" />
</DataTemplate>
</DataGridTemplateColumn.CellTemplate>
</DataGridTemplateColumn>
<DataGridTemplateColumn Header="Right" Width="25*">
<DataGridTemplateColumn.CellTemplate>
<DataTemplate>
<DataGrid ItemsSource="{Binding LeftLabel.Components}"
CanUserAddRows="False"
CanUserDeleteRows="False">
</DataGrid>
</DataTemplate>
</DataGridTemplateColumn.CellTemplate>
</DataGridTemplateColumn>
<DataGridTemplateColumn Header="Left" Width="25*">
<DataGridTemplateColumn.CellTemplate>
<DataTemplate>
<DataGrid ItemsSource="{Binding RightLabel.Components}"
CanUserAddRows="False"
CanUserDeleteRows="False">
</DataGrid>
</DataTemplate>
</DataGridTemplateColumn.CellTemplate>
</DataGridTemplateColumn>
</DataGrid.Columns>
</DataGrid>
私はできるだけ短いポストを維持するためにモデルコードを掲載していません。
この問題を解決するにはこれが可能ですか?あるいは私は何か間違ったことを試みていて、何らかの変更が必要な場合や、他のコントロールを使用している場合 – Shiva