ItemSource が MyClass の ListCollectionView である ComboBox があります。ComboBox は、次の ItemTemplate を使用します。
<Style x:Key="StyleComboBoxGroups" BasedOn="{StaticResource BaseComboBox}" TargetType="{x:Type ComboBox}">
<Setter Property="ItemTemplate">
<Setter.Value>
<DataTemplate>
<StackPanel Orientation="Horizontal">
<BulletDecorator VerticalAlignment="Center">
<BulletDecorator.Bullet>
<Ellipse Margin="3,0,0,0" Width="4" Height="4"/>
</BulletDecorator.Bullet>
<TextBlock Margin="3,0,0,0" Style="{StaticResource BaseTextBlock}" Text="{Binding}"/>
</BulletDecorator>
</StackPanel>
</DataTemplate>
</Setter.Value>
</Setter>
</Style>
MyClass は 2 つのプロパティを公開します。
パブリック シール クラス MyClass { public MyEnum Property1 { get; 設定; } パブリック文字列 Property2 { get; 設定; } }
Property1 に応じて TextBlock.Foreground カラーを作成する方法を理解しようとしています。しばらくの間、私はこれらを無駄にしようとしました:
Foreground="{Binding Property1, Converter=MyEnumToColorConverter}"
Foreground="{Binding Converter=MyEnumToColorConverter, Path=Property1}"
Foreground="{Binding Converter=MyEnumToColorConverter, Path=Property1, Source={Binding}}"
しかし、私は常に例外を取得します。ComboBox アイテムに正しくバインドするにはどうすればよいですか?