wpf复选框标签为按钮
本文关键字:按钮 标签 复选框 wpf | 更新日期: 2023-09-27 17:59:07
在WPF中,我希望复选框中的标签表现得像一个按钮,所以当我将复选框切换到ON时,我希望标签变为一个按钮;当我将选中框切换到OFF时,按钮将变回标签。
这是我迄今为止拥有的
<CheckBox Margin="2,0,2,0"
IsChecked="{Binding IsSteps}"
HorizontalAlignment="Stretch"
VerticalAlignment="Bottom"
Height="32"
FocusVisualStyle="{x:Null}"
Style="{StaticResource SliderCheckBoxStyle}">
<CheckBox.Content>
<TextBlock Text="Steps" Foreground="#FFFFFFFF" FontFamily="Lucida Sans" FontSize="8" FontWeight="Bold"/>
</CheckBox.Content>
</CheckBox>
在您的复选框中。内容,创建一个同时具有TextBlock和Button的StackPanel。然后,您可以绑定您的TextBlock。可见性和按钮。使用触发器和setter访问"IsSteps"。
<CheckBox Margin="2,0,2,0"
IsChecked="{Binding IsSteps}"
HorizontalAlignment="Stretch"
VerticalAlignment="Bottom"
Height="32"
FocusVisualStyle="{x:Null}"
Style="{StaticResource SliderCheckBoxStyle}">
<CheckBox.Content>
<StackPanel>
<TextBlock Text="Steps" Foreground="#FFFFFFFF" FontFamily="Lucida Sans" FontSize="8" FontWeight="Bold">
<TextBlock.Style>
<Style TargetType="TextBlock">
<Style.Triggers>
<DataTrigger Binding="{Binding IsSteps}" Value="True">
<Setter Property="Visibility" Value="Collapsed">
</DataTrigger>
</Style.Triggers>
</Style>
<TextBlock.Style>
</TextBlock>
<Button>
<Button.Style>
<Style TargetType="Button">
<Style.Triggers>
<DataTrigger Binding="{Binding IsSteps}" Value="False">
<Setter Property="Visibility" Value="Collapsed">
</DataTrigger>
</Style.Triggers>
</Style>
<Button.Style>
</Button>
</StackPanel>
</CheckBox.Content>
</CheckBox>
现在,它们的Visibility属性取决于DataContext对象中的IsSteps,因此当一个出现而另一个消失时。