这种行为对我来说似乎非常奇怪,我想我做错了什么。我有一个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>这是行不通的...我已经在可见性和边距上对此进行了测试(请确保)。除非在Image标记中定义了该属性,否则此触发器将更改该属性。如果是这样,触发器将不会更新该属性。因此,如果我没有为图像定义可见性,并且触发器将其隐藏,那么它将起作用。问题是,默认值为可见,触发器需要在value = 0时显示它,否则将其隐藏。为什么触发器不覆盖显式定义的属性?那不是目的吗?
3 回答
慕田峪4524236
TA贡献1875条经验 获得超5个赞
当触发器为真时,它将值更改为所需值。当它不再为true时,它将值恢复为先前的值。它不会将其更改为不需要的值。
这意味着,如果原始值可见,并且将其更改为可见,则当触发器不再活动时,该值将恢复为可见。
添加回答
举报
0/150
提交
取消