【发布时间】:2016-01-14 21:56:46
【问题描述】:
我在 WPF 中有一个按钮,如果鼠标位于按钮所在的边框上,我想让它可见。这很简单:
<Button Grid.Column="1" Click="DimFilter_Click" Style="{StaticResource ImageButton}" MouseDown="Button_MouseDown"
Visibility="{Binding RelativeSource={RelativeSource FindAncestor, AncestorType={x:Type Border}}, Path=IsMouseOver, Converter={StaticResource BoolToVis}}">
<Button.Content>
<Image Source="{Binding FilterActive, Converter={StaticResource FilterImageConverter}}"
HorizontalAlignment="Center" VerticalAlignment="Center"/>
</Button.Content>
</Button>
我的问题是,如果“FilterActive”属性为真,我还想让按钮可见。 因此,如果“FilterActive”为假,我想在上面的代码中使用 MouseOver 绑定,但如果“FilterActive”为真,则 Button 应该一直可见,忽略第一个绑定。 这有可能吗?
【问题讨论】:
-
你可以使用 MultiBinding。
-
Clemens,多重绑定可以让一个属性(FilterActive)优先于另一个属性(MouseOver)吗?如果没有,也许唯一的方法是通过代码隐藏。
标签: wpf button data-binding visibility multibinding