【发布时间】:2013-01-26 12:33:29
【问题描述】:
我有以下标记:
<Button Name="m_SaveButton" Command="{Binding SaveCommand}">
<StackPanel>
<Image Source="{StaticResource IconSave16}">
<Image.Style>
<Style TargetType="Image">
<Style.Triggers>
<DataTrigger Binding="{Binding Path=IsEnabled, RelativeSource={RelativeSource Mode=FindAncestor, AncestorType={x:Type Button}}}" Value="False">
<Setter Property="Source" Value="{StaticResource IconSaveInactive16}" />
</DataTrigger>
</Style.Triggers>
</Style>
</Image.Style>
</Image>
<Label Content="Save" />
</StackPanel>
</Button>
当 Button.IsEnabled 为 false 时,我想更改嵌套在 Button 内的图像。上面的标记不起作用。
我试图使用在这里找到的 Meleak 代码:WPF Mouseover Trigger Effect for Child Controls
有人可以建议我解决这个问题吗?
提前谢谢你!
【问题讨论】:
-
您是否尝试过使用 ElementName 而不是 RelativeSource 进行绑定?
-
嗯.. 还没有。我现在就试试。
-
它也不起作用:
<DataTrigger Binding="{Binding IsEnabled, ElementName=m_SaveButton}" Value="False">...</DataTrigger>
标签: wpf binding triggers nested-controls