0
나는 ItemTemplate
에 ListBox
을 가지고 있습니다. 하나는 이고 하나는 Delete Button
입니다.WPF에서 DataTrigger를 사용하는 ListBox 항목 숨기기 Count에 기반한 ListBox
내 요구 사항 : ObservableCollection<string> Person
에 레코드가 하나만있는 경우 삭제 Button
을 숨겨야합니다. 둘 이상의 레코드가 있으면 모든 항목에 대해 삭제 Button
을 표시해야합니다.
XAML :
<ListBox ItemsSource="{Binding Person, UpdateSourceTrigger=PropertyChanged}" Background="Transparent" Margin="0 10" HorizontalContentAlignment="Stretch">
<ListBox.ItemTemplate>
<DataTemplate>
<Grid HorizontalAlignment="Stretch">
<Grid.RowDefinitions>
<RowDefinition Height="Auto"/>
<RowDefinition Height="Auto"/>
</Grid.RowDefinitions>
<TextBox Grid.Row="0" Text="{Binding Contact, UpdateSourceTrigger=PropertyChanged}" />
<Button Grid.Row="1" Content="X" Foreground="Red" />
</Grid>
</DataTemplate>
</ListBox.ItemTemplate>
<ListBox.Style>
<Style TargetType="{x:Type ListBox}">
<Style.Triggers>
<DataTrigger Binding="{Binding Path=Items.Count, RelativeSource={RelativeSource Self}}" Value="1">
<Setter Property="Visibility" Value="Collapsed" />
</DataTrigger>
</Style.Triggers>
</Style>
</ListBox.Style>
</ListBox>
DataTrigger :
<ListBox.Style>
<Style TargetType="{x:Type ListBox}">
<Style.Triggers>
<DataTrigger Binding="{Binding Path=Items.Count, RelativeSource={RelativeSource Self}}" Value="1">
<Setter Property="Visibility" Value="Collapsed" />
</DataTrigger>
</Style.Triggers>
</Style>
</ListBox.Style>
이 친절하게 어떻게 내 요구 사항에 대한 DataTrigger
을 설정하는 나에게 도움이됩니다.