0
エキスパンダーコンテンツ内にアイテムがない場合、すべてのエキスパーダーヘッダーを非表示にすばやく表示する方法があるかどうかはわかります。エキスパンダー内にアイテムがない場合はヘッダーを非表示にします
マイエキスパンダー:
<Expander IsExpanded="True" Loaded="Expander_Loaded" Visibility="{Binding Items[0],Converter={StaticResource collectionVisibilityHeaderConverter}}">
<Expander.Header>
<DockPanel HorizontalAlignment="Stretch" >
<TextBlock Text="{Binding Path=Name}" FontSize="18"></TextBlock>
<Button Style="{StaticResource ButtonStyle}" x:Name="ShowAllButton" Content=" SHOW ALL " HorizontalAlignment="Right" DockPanel.Dock="Right" Padding="15" Margin="0,0,15,0" Click="ShowAllButton_Click"></Button>
<Button Style="{StaticResource ButtonStyle}" x:Name="ShowOnlyButton" Content=" SHOW ONLY " HorizontalAlignment="Right" DockPanel.Dock="Right" Padding="15" Margin="0,0,15,0" Click="ShowOnlyButton_Click"></Button>
</DockPanel>
</Expander.Header>
<Expander.Style>
<Style TargetType="{x:Type Expander}">
<Setter Property="Background" Value="#ccf2ff"></Setter>
<Setter Property="TextElement.FontFamily" Value="Arial Nova"/>
</Style>
</Expander.Style>
<Expander.Content>
<ItemsPresenter />
</Expander.Content>
</Expander>
私は今、コンバータを使用していて、基本的にはそれが動作しますが、私はもっと簡単な方法があると思います。
を、これは正しいアプローチです。 – macieqqq
商品[0]とは何ですか?いくつかのItemsControlのItem TemplateのExpanderですか? – Mishka
ItemsがIEnumerable以上のものであれば、Countプロパティを持ちます。 Items.Countが0のときにエキスパンダーを非表示にするには、トリガーをスタイルに配置し、Itemsがnullの場合は、可能性がある場合はもう1つを選択します。それが私のやり方ですが、あなたのアプローチはそれなりに完璧です。 –