<StackPanel Grid.Column="0" >
<Button Name="buttonEditListBoxItem" Content="Edit" Click="buttonEditListBoxItem_Click"></Button>
<ListBox Name="ListBoxTriggers"
SelectedValuePath="TriggerId"
IsSynchronizedWithCurrentItem="True"
SelectionChanged="Triggers_SelectionChanged"
ScrollViewer.HorizontalScrollBarVisibility="Auto"
HorizontalContentAlignment="Stretch">
<ListBox.ItemTemplate>
<DataTemplate><Grid >
<Grid.ColumnDefinitions>
<ColumnDefinition Width="AUTO"/>
<ColumnDefinition Width="*"/>
</Grid.ColumnDefinitions>
<CheckBox Grid.Column="0" VerticalAlignment="Center" x:Name="checkBoxTriggers" ></CheckBox>
<Button Grid.Column="1" Style="{StaticResource GlassButton}"
Uid="{Binding Path=TriggerId}"
Margin="5"
x:Name="ButtonTrigger"
GotFocus="ButtonTrigger_GotFocus"
>
<Button.Content>
<TextBlock Foreground="White" TextAlignment="Justify"
TextWrapping="Wrap" Margin="6" Text="{Binding Path=Name}"/>
</Button.Content>
</Button>
</Grid>
</DataTemplate>
</ListBox.ItemTemplate></ListBox>
</StackPanel>
Я хочу создать список с шаблоном данных, который включает в себя кнопку и флажок. Что я хочу сделать, так это когда я нажимаю на кнопку «Изменить», эти флажки должны стать видимыми, и когда я нажимаю на нее снова, я хочу сделать эти флажки невидимыми / свернутыми
Ответ: Я изменил код сейчас так:
</Window.Resources> <StackPanel Grid.Column="0" >
<ToggleButton Name="buttonEditListBoxItem"
Content="Edit"
IsChecked="False"
Click="buttonEditListBoxItem_Click"></ToggleButton>
<ListBox Name="ListBoxTriggers"
SelectedValuePath="TriggerId"
IsSynchronizedWithCurrentItem="True"
SelectionChanged="Triggers_SelectionChanged"
ScrollViewer.HorizontalScrollBarVisibility="Auto"
HorizontalContentAlignment="Stretch">
<ListBox.ItemTemplate>
<DataTemplate> <Grid >
<Grid.ColumnDefinitions>
<ColumnDefinition Width="AUTO"/>
<ColumnDefinition Width="*"/>
</Grid.ColumnDefinitions>
<CheckBox Visibility="{Binding ElementName=buttonEditListBoxItem, Path=IsChecked, Converter={StaticResource visibilityConverter}}" Grid.Column="0" VerticalAlignment="Center" x:Name="checkBoxTriggers" ></CheckBox>
<Button Grid.Column="1" Style="{StaticResource GlassButton}"
Uid="{Binding Path=TriggerId}"
Margin="5"
x:Name="ButtonTrigger"
GotFocus="ButtonTrigger_GotFocus"
>
<Button.Content>
<TextBlock Foreground="White" TextAlignment="Justify"
TextWrapping="Wrap" Margin="6" Text="{Binding Path=Name}"/>
</Button.Content>
</Button>
</Grid>
</DataTemplate> </ListBox.ItemTemplate>
</ListBox>` `public class VisibilityConverter : IValueConverter
{
public object Convert(object value, Type targetType, object parameter, System.Globalization.CultureInfo culture)
{
return ((Boolean)value) ? Visibility.Visible : Visibility.Collapsed;
}
public object ConvertBack(object value, Type targetType, object parameter, System.Globalization.CultureInfo culture)
{
return (((Visibility)value) == Visibility.Visible);
}
}`