2015-12-07 3 views
0

У меня есть два списка. Список вещей и список фруктов. Если элемент в списке вещей является плодом из списка фруктов, я бы хотел, чтобы этот элемент был выделен.DataTrigger WPF

Я хотел бы это с привязкой данных и через xmal, а не с кодом. B/c Я делаю шаблон MVVM. Я пробовал его с DataTrigger и Converter, но не могу заставить его работать. Пожалуйста помоги.

Спасибо.

<ListBox ItemsSource="{Binding Things}" 
     Name="ListOfThigns" 
     Grid.Row="1"> 
     <DataTemplate> 
      <DataTemplate.Triggers> 
       <DataTrigger Binding="{Binding Fruits}" > 
        <Setter Property="ListBoxItem.Background" Value="Green"/> 
       </DataTrigger> 
      </DataTemplate.Triggers> 
     </DataTemplate> 
    </ListBox> 

    <ListBox ItemsSource="{Binding Fruits}" 
     Name="ListOfFruits" 
     Grid.Column="1" 
     Grid.Row="1"> 
    </ListBox> 
+1

Если вы реализуете MVVM, вы должны иметь модель представления, когда вещь имеет 'IsFruit' свойство. Вы привязываете DataTrigger к этому свойству. – Clemens

ответ

0

Или, если фрукты наследует от Thing (плод вещь):

<ListView ItemsSource="{Binding Things}"> 
     <ListView.Resources> 
       <DataTemplate DataType="{x:Type dm:Fruit}"> 
        <TextBlock Text="{Binding Name}" Background="RoyalBlue"/> 
       </DataTemplate> 
       <DataTemplate DataType="{x:Type dm:Thing}"> 
        <TextBlock Text="{Binding Name}" /> 
       </DataTemplate> 
     </ListView.Resources> 
    </ListView>