私は現在カテゴリのリストを持っています。各カテゴリについて、カテゴリに関連付けられたアイテムのリストを表示するエクスパンダとデータグリッドを使用してテンプレートが作成されます。 私の問題は、カテゴリの項目がない場合、そのカテゴリのテンプレートを作成したくないということです。 現在、私は隠すテンプレートを得ることができますが、テンプレートが作成されたギャップを残します。特定の条件でテンプレートが作成されるのを止める方法
<StackPanel Name="CatagoryPanel" Grid.Row="2" Grid.ColumnSpan="6">
<ItemsControl ItemsSource="{Binding Path=CategoryList}">
<ItemsControl.ItemTemplate>
<DataTemplate>
<DataTemplate.Triggers>
<DataTrigger Binding="{Binding Path=Items.Count, UpdateSourceTrigger=PropertyChanged}" Value="0">
<Setter Property="Visibility" Value="Hidden"/>
<Setter Property="IsEnabled" Value="False"/>
</DataTrigger>
</DataTemplate.Triggers>
<Expander />
<DataGrid />
</DataTemplate>
</ItemsControl.ItemTemplate>
</ItemsControl>
</StackPanel>
Visibility as Collapsedを設定しようとしましたか? – Ankesh
ああ、私はそれを考えなかった!ありがとう! – emybob
サイドノート:ExpanderとDataGridの周りにパネル(たとえば、StackPanel、私の答えを見てください)を忘れたと思います。私は、DataTemplateが2つの視覚的要素を持つことはできないと思います。 – Uri