Что я пытаюсь сделать: у меня есть список профилей людей в фоновом режиме, которые я использую со своим списком. Триггер должен изменить фон в зависимости от пола человека (bool Role.IsFemale). Когда я обрабатываю SelectionChangedEvent в коде, я вижу, что Selectedvalue равно true или false. Теперь я могу изменить фон напрямую или изменить свойство dependencyProperty, которое сам пользовательский контроллер может прослушивать и изменять фон при запуске. Тем не менее, я пытаюсь использовать xaml для достижения этой цели, но ничего не происходит, когда я использую код ниже ...
<UserControl ...
MinHeight="100" MinWidth="100" x:Name="Crtl">
<UserControl.Resources>
<SolidColorBrush x:Key="windowBGBrush1" Color="Green"/>
<SolidColorBrush x:Key="windowBGBrush2" Color="Red"/>
</UserControl.Resources>
<UserControl.Style >
<Style TargetType="{x:Type Control}">
<Style.Triggers>
<DataTrigger Binding="{Binding Path=SelectedValue, ElementName=cbProfiles}" Value="False">
<Setter Property="Background" Value="{DynamicResource windowBGBrush1}"/>
</DataTrigger>
<DataTrigger Binding="{Binding Path=SelectedValue, ElementName=cbProfiles}" Value="True">
<Setter Property="Background" Value="{DynamicResource windowBGBrush2}"/>
</DataTrigger>
</Style.Triggers>
</Style>
</UserControl.Style>
<Grid>
<Grid.RowDefinitions>
<RowDefinition Height="20*"/>
<RowDefinition Height="80*" />
</Grid.RowDefinitions>
<ComboBox Name="cbProfiles" Grid.Row="0" ItemsSource="{Binding}" DisplayMemberPath="Role.RoleID" SelectedValuePath="Role.IsFemale"/>
<StackPanel Grid.Row="1" x:Name="spFileInfo" DataContext="{Binding ElementName=cbProfiles, Path=SelectedItem}">
<TextBlock>Selected:</TextBlock>
<TextBox x:Name="tbFileFolder" Width="Auto" Height="Auto" Text="{Binding Path=Role.RoleID}"/>
</StackPanel>
</Grid>