我试图通过单击另一个按钮将我按钮上的“可见性”属性设置为“隐藏”。该代码效果很好:
<Button x:Name="Button">
<Button.Style>
<Style TargetType="Button" BasedOn="{StaticResource {x:Static ToolBar.ButtonStyleKey}}">
<Style.Triggers>
<DataTrigger Binding="{Binding ElementName=HideBar, Path=IsPressed}"
Value="True">
<Setter Property="Visibility" Value="Hidden"/>
</DataTrigger>
</Style.Triggers>
</Style>
</Button.Style>
</Button>
就像您在上方可以看到的那样,绑定的IsPressed
属性中的Path
可以正常工作,但是只有当我按下鼠标按钮时,按钮才会隐藏。单击Binding ElementName=HideBar
中提到的“ Hidebar”按钮后,如何使按钮的可见性永久设置为“隐藏”?我想使用MVVM,但在我的opinien中,DataTriggers对于视图的编码更简单。
答案 0 :(得分:0)
好吧,事实证明您无需将复选框样式更改为基于按钮,因为WPF中有一个切换按钮:
<ToggleButton x:Name="HideBar" Content="Click"/>
<Button x:Name="Button" Content="Testing">
<Button.Style>
<Style TargetType="Button" BasedOn="{StaticResource {x:Static ToolBar.ButtonStyleKey}}">
<Style.Triggers>
<DataTrigger Binding="{Binding ElementName=HideBar, Path=IsChecked}"
Value="True">
<Setter Property="Visibility" Value="Hidden"/>
</DataTrigger>
</Style.Triggers>
</Style>
</Button.Style>
</Button>