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 に答える