当TextBox.Length
〉0时,尝试使用MultiDataTrigger隐藏TextBox
中的水印文本
<Style.Triggers>
<MultiDataTrigger>
<MultiDataTrigger.Conditions>
<Condition Binding="{Binding ElementName=SearchTermTextBox, UpdateSourceTrigger=PropertyChanged, Path=Text.Length}"
Value="1"/>
<Condition Binding="{Binding IsMouseOver, ElementName=SearchTermTextBox, UpdateSourceTrigger=PropertyChanged}"
Value="true"/>
</MultiDataTrigger.Conditions>
<Setter Property="Visibility"
Value="Collapsed"/>
</MultiDataTrigger>
</Style.Triggers>
这显然只在text.Length = 1
时有效。有没有简单的方法来实现这一点,或者我需要写一个IValueConverter
的实现?
1条答案
按热度按时间polkgigr1#
那么反过来呢?默认情况下不显示水印,让你的触发器在
Text.Length = 0
时显示水印?第一节第一节第一节第一节第一次
只需确保将初始
Visibility=Collapsed
设置为Style的一部分,而不是硬编码到<TextBlock />
标记中,因为DependencyProperty Precedence声明在<Tag>
中设置的所有属性都具有比在Trigger中设置的属性更高的优先级,因此该值永远不会更改。