私は既存のコードに取り組んでいます。これには、いくつかのComboBoxItemsを含むComboBoxがあります。各アイテムには、ImageコントロールとTextBlockがあるStackPanelがあります。
これで、Imageコントロールのsourceプロパティは、XAMLファイルに保存されているさまざまなベクター画像に設定されますが、TextBlockのTextプロパティは、ローカライズされた文字列に設定されます。
個別のComboBoxItemを使用するのではなく、DataTemplateを使用してこれを実装したいと思います。TextBlockの文字列のリストを作成することはできますが、画像をそれぞれの画像コントロールにバインドする方法がわかりません。
私は他のより良い可能な解決策を受け入れています。また、それを行う正しい方法が既存のものであると思われる場合は、私に知らせてください。
これは重複した質問かもしれませんが、私の問題に対応する質問が見つかりませんでした。もしそうなら、他の質問へのリンクで十分でしょう。
編集:コードが追加されました
<ComboBox x:Name="imageInfoLevelsComboBox" SelectedIndex="1"
Style="{DynamicResource ComboBoxToolBarStyle}"
Margin="6,6,6,0" Width="50"
ToolTip="{x:Static Viewing:ViewingTexts.ImageInformationLevels}"
SelectionChanged="OnImageInfoLevelsComboBoxSelectionChanged" >
<ComboBoxItem x:Name="showAllComboBoxItem"
Style="{DynamicResource ComboBoxItemToolBarStyle}">
<StackPanel Orientation="Horizontal">
<Image x:Name="ImageInfoAllImage"
Source="{StaticResource ImageInfoFullIcon}"
Margin="0,0,4,0"
Width="24" Height="24"/>
<TextBlock
Text="{x:Static Viewing:ViewingTexts.ImageInformationFull}"
Margin="10,0,0,0"
VerticalAlignment="Center"/>
</StackPanel>
</ComboBoxItem>
<ComboBoxItem x:Name="showImportantComboBoxItem"
Style="{DynamicResource ComboBoxItemToolBarStyle}">
<StackPanel Orientation="Horizontal">
<Image x:Name="ImageInfoImportantImage"
Source="{StaticResource ImageInfoLimitedIcon}"
Margin="0,0,4,0"
Width="24" Height="24"/>
<TextBlock
Text="{x:Static Viewing:ViewingTexts.ImageInformationIntermediate}"
Margin="10,0,0,0"
VerticalAlignment="Center"/>
</StackPanel>
</ComboBoxItem>
<ComboBoxItem x:Name="showNotificationsComboBoxItem"
Style="{DynamicResource ComboBoxItemToolBarStyle}">
<StackPanel Orientation="Horizontal">
<Image x:Name="ImageInfoNotificationsImage"
Source="{StaticResource ImageInfoNoneIcon}"
Margin="0,0,4,0" Width="24" Height="24"/>
<TextBlock Text="{x:Static Viewing:ViewingTexts.ImageInformationNone}"
Margin="10,0,0,0" VerticalAlignment="Center"/>
</StackPanel>
</ComboBoxItem>
</ComboBox>
私ができると思うのは、文字列型とImage型の2つのオブジェクトでクラスを作成することです。次に、リストを作成してコンボボックスにバインドしますが、問題は、ベクター画像をオブジェクトとして使用する方法がわからないことです。
ありがとう。