2013-03-14 18 views
2

如果對象是特定類別,是否有辦法檢入DataTrigger如果對象是特定類別,則檢入數據觸發器

其實我想的是DataTrigger回答這個問題在C#

if(MyObject is MyClass) 

我希望它看起來像這樣的XAML:

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

請解釋爲什麼你投了嗎? – 2013-03-14 11:25:25

+0

@Default我不知道該怎麼嘗試,我問是否有辦法做到這一點,因爲在搜索中我沒有找到任何東西。 – 2013-03-14 11:33:52

+1

[x:type](http://msdn.microsoft.com/en-us/library/ms753322.aspx) – Default 2013-03-14 11:37:39

回答

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表示typ您希望收到的對象電子...如果它匹配或否則爲false 轉換器將返回true ...轉換器的

例子:

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; 
    } 
相關問題