【发布时间】:2011-10-30 21:02:59
【问题描述】:
这种行为对我来说似乎非常奇怪,我认为我做错了什么来得到它。我有一个ContentControl,它使用 DataTemplete 来呈现 TabControl。我希望在没有打开标签时显示图像,并在有标签时隐藏。但是问题来了:
<Image Name="image1" Stretch="Uniform" Visibility="Hidden" Source="/Affinity;component/Images/affinity_logo.png">
<Image.Style>
<Style TargetType="Image">
<Style.Triggers>
<DataTrigger Binding="{Binding Items.Count, ElementName=tabcontrolworkspaces}"
Value="0">
<Setter Property="Visibility" Value="Visible" />
</DataTrigger>
</Style.Triggers>
</Style>
</Image.Style>
</Image>
这不起作用......有点。
我已经在 Visiblity 和 Margin 上进行了测试(只是为了确定)。此触发器将更改该属性,除非该属性在 Image 标记中定义。如果是,触发器将不会更新该属性。因此,如果我没有为图像定义可见性,并且触发器将其隐藏,它就可以工作。问题是,默认值为 Visible,当 value=0 时触发器需要显示,否则隐藏。
为什么触发器不会覆盖显式定义的属性?这不是它的目的吗?
【问题讨论】:
-
这能回答你的问题吗? DataTrigger not firing