有没有办法检查DataTrigger
对象是否属于特定类?
事实上我希望DataTrigger
在C#
中回答这个问题:
if(MyObject is MyClass)
我希望它在XAML中看起来像这样:
<Grid>
<Grid.Triggers>
<DataTrigger Binding="{Binding MyObject}" Value="MyClass?">
<Setter..../>
</DataTrigger>
</Grid.Triggers>
</Grid>
答案 0 :(得分:1)
您可以使用转换器:
<Grid>
<Grid.Style>
<Style>
<Style.Triggers>
<DataTrigger Binding="{Binding MyString, Converter={StaticResource OConv}, ConverterParameter=System.String}" Value="True">
<Setter Property="Grid.Background" Value="Red"></Setter>
</DataTrigger>
</Style.Triggers>
</Style>
</Grid.Style>
</Grid>
使用ConverterParameter声明您希望接收的对象的类型... 如果匹配,转换器将返回true,否则返回false ...
转换器示例:
public clas s ObjectTypeToBooleanConverter : IValueConverter
{
public object Convert(object value, Type targetType, object parameter, CultureInfo culture)
{
if (value.GetType().ToString() == (string)parameter)
{
return true;
}
return false;
}