В настоящее время у меня есть список категорий. Для каждой категории создается шаблон с расширителем и datagrid, который отображает список элементов, связанных с категорией. Моя проблема в том, что если для категории нет элементов, я не хочу, чтобы шаблон был создан для этой категории. В настоящее время я могу получить шаблон, чтобы скрыть, но его оставляя пробел, где шаблон был сделан.как остановить шаблон, создаваемый в определенном состоянии
<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>
Нужно ли пытаться установить видимость как сложенную ??? – Ankesh
ах я не думал об этом! благодаря! – emybob
Замечание: я думаю, вы забыли панель (например, StackPanel, см. Мой ответ ниже) вокруг Expander и DataGrid. Я не думаю, что DataTemplate может иметь два визуальных элемента. – Uri