WPF: изменить фон для некоторых элементов списка - PullRequest
3 голосов
/ 03 августа 2010

Я пытаюсь изменить фон некоторых элементов в выпадающем списке, которые удовлетворяют условию

<ComboBox ItemsSource="{Binding Path=Model.Names, Mode=OneWay}" SelectedValue="{Binding Path=SelectedCompanyName}" DisplayMemberPath="Alias" />

Дело в том, что «Псевдоним» сохраняется в двух разных местах (в компании и по порядку), и если они не совпадают, мы хотим выделить это.

Я хочу сделать что-то вроде этого:

<Style>...
    <DataTrigger Binding="{Binding Path=isMismatch}" Value="True>
        <Setter Property="Background" Value="Red" />...

Любая помощь приветствуется.

Ответы [ 2 ]

4 голосов
/ 03 августа 2010

Вам необходимо создать собственный шаблон данных, например:

<ComboBox Width="300" Height="30" ItemsSource="{Binding Path=Model.Names, Mode=OneWay}">
    <ComboBox.ItemTemplate>
        <DataTemplate>
            <Grid x:Name="templateGrid">
                <TextBox Text="{Binding Name}" />
            </Grid>
            <DataTemplate.Triggers>
                <DataTrigger Binding="{Binding isMismatch}" Value="True">
                   <Setter TargetName="templateGrid" 
                           Property="Background" Value="Red" />         
                </DataTrigger>
            </DataTemplate.Triggers>
        </DataTemplate>
    </ComboBox.ItemTemplate>
</ComboBox>
0 голосов
/ 03 августа 2010

Если вы хотите выделить выделение на основе значений двух свойств, я думаю, вы можете использовать MultiValueConverter вместе с MultiBinding .

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...