静态资源中的数据触发器
Data trigger in static resource
我想制作一个模板样式,我可以将其用作静态资源,如下所示:
<TextBox
Style="{StaticResource CollapsingTextBox}"
Text="{Binding SomeNullableValue}" />
顾名思义,当绑定值为 null
时,我希望文本框折叠起来。通常我会使用数据触发器来执行此操作,如下所示:
<DataTrigger Binding="{Binding SomeNullableValue}" Value="{x:null}">
<Setter Property="Visibility" Value="Collapsed" />
</DataTrigger>
但是如果我将数据触发器移动到模板样式,可以重复使用,那么我直接绑定到绑定属性(即SomeNullableValue
)是不好的。相反,我需要绑定模板用户的绑定(如果有意义的话)。
如何实现这种绑定?
尝试使用 Text
属性:
的触发器
<Trigger Property="Text" Value="">
<Setter Property="Visibility" Value="Collapsed" />
</Trigger>
<Trigger Property="Text" Value="{x:null}">
<Setter Property="Visibility" Value="Collapsed" />
</Trigger>
我想制作一个模板样式,我可以将其用作静态资源,如下所示:
<TextBox
Style="{StaticResource CollapsingTextBox}"
Text="{Binding SomeNullableValue}" />
顾名思义,当绑定值为 null
时,我希望文本框折叠起来。通常我会使用数据触发器来执行此操作,如下所示:
<DataTrigger Binding="{Binding SomeNullableValue}" Value="{x:null}">
<Setter Property="Visibility" Value="Collapsed" />
</DataTrigger>
但是如果我将数据触发器移动到模板样式,可以重复使用,那么我直接绑定到绑定属性(即SomeNullableValue
)是不好的。相反,我需要绑定模板用户的绑定(如果有意义的话)。
如何实现这种绑定?
尝试使用 Text
属性:
<Trigger Property="Text" Value="">
<Setter Property="Visibility" Value="Collapsed" />
</Trigger>
<Trigger Property="Text" Value="{x:null}">
<Setter Property="Visibility" Value="Collapsed" />
</Trigger>