2

有没有办法检查DataTrigger对象是否属于特定类?

事实上,我想DataTrigger回答这个问题C#

if(MyObject is MyClass)

我希望它在 XAML 中看起来像这样:

<Grid>
   <Grid.Triggers>
     <DataTrigger Binding="{Binding MyObject}" Value="MyClass?">
        <Setter..../>
     </DataTrigger>
   </Grid.Triggers>
</Grid>
4

1 回答 1

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;
    }
于 2013-03-14T11:45:14.307 回答