Я новичок в WPF и в соответствии с моим предыдущим вопросом Как сделать текст выделенного элемента красным и жирным на триггере (в выпадающем списке) У меня все еще есть проблема с созданием выбранного элемента (но не со всеми элементами выпадающего списка) ) текст красный и жирный, если его свойство IsNotCorrect имеет значение true. Если быть более конкретным, у меня есть system. windows .markup.staticresourceholder исключение (кажется, что все конвертеры объявлены, не уверен в моем объявлении нового стиля и правильном порядке для него). Вот шаги, которые я сделал:
создать стиль, чтобы переопределить текстовое поле для моего комбинированного списка в начале моего файла xaml:
<Style x:Key="UserDefinedStyle" TargetType="{x:Type ComboBox}">
<Setter Property="Template">
<Setter.Value>
<ControlTemplate TargetType="{x:Type ComboBox}">
<TextBox x:Name="PART_EditableTextBox"
Template="{StaticResource ComboBoxTextBox}"
HorizontalAlignment="Left"
VerticalAlignment="Bottom"
Margin="3,3,23,3"
Focusable="True"
Background="Transparent"
Visibility="Hidden"/>
</ControlTemplate>
</Setter.Value>
</Setter>
</Style>
попробуйте применить этот стиль к моему списку (эта часть внутри другого стиля.
<Border BorderBrush ="{Binding SelectedReason.IsNotCorrect, Converter={StaticResource DisablingBoolToColorConverter}}" BorderThickness="2">
<ComboBox x:Name="REASON_ID" DisplayMemberPath="Name" IsReadOnly="True" IsEditable="True" SelectedItem="{Binding SelectedReason, Mode=TwoWay, UpdateSourceTrigger=PropertyChanged, ValidatesOnDataErrors=True}" Style"{DynamicResource UserDefinedStyle}">
<ComboBox.ItemsSource>
<CompositeCollection>
<ComboBoxItem Content="{DynamicResource lang_Common_SelectItem}" IsEnabled="False"/>
<CollectionContainer Collection="{Binding Source={StaticResource StaticReasons}}"/>
<TextBox x:Name="Part_EditableTextBox">
<TextBox.Style>
<Style TargetType="{x:Type TextBox}" BasedOn="{x:Null}">
<Style.Triggers>
<DataTrigger Binding="{Binding SelectedItem.IsNotCorrect, RelativeSource={RelativeSource AncestorType=ComboBox}}" Value="True">
<Setter Property="Foreground" Value="Red" />
<Setter Property="FontWeight" Value="Bold" />
</DataTrigger>
</Style.Triggers>
</Style>
<TextBox.Style>
</TextBox>
</CompositeCollection>
</ComboBox.ItemsSource>
</ComboBox>
</Border>