1
少し問題があります。私は、オブジェクトのリストにバインドされているDataGridを持っています。オブジェクトプロパティの1つはアイコン(文字列)です。オブジェクトをDataGridに表示するときは、コンボボックス(アイコンの静的リストを保持すると仮定)があります。私がバインドする方法を知らないことは、アイコンコレクションのアイテムソースです。ここで私はこれまで持っているものです。
XAMLItemsSourceの各アイテムを別のItemsSourceにバインドします。
<DataGrid Name="dgMenus"
Grid.Column="1"
Grid.Row="1"
Visibility="Collapsed"
CanUserSortColumns="True"
Style="{StaticResource DataGrid}">
...
<DataGridTemplateColumn Header="Icon"
Width="Auto"
IsReadOnly="True">
<DataGridTemplateColumn.CellTemplate>
<DataTemplate>
<ComboBox Name="cbIconSelector"
Style="{StaticResource ComboBoxFlatStyle}"
SelectionChanged="cbIconSelector_SelectionChanged"
ItemsSource="{Binding iconsLibrary}"
SelectedIndex="{Binding Icon, Converter={StaticResource FontAwesome_HTML_To_ComboBox_SelectedIndex}}"
BorderThickness="0"
Width="60"
Height="30"
VerticalAlignment="Center">
<ComboBox.ItemTemplate>
<DataTemplate>
<TextBlock Style="{StaticResource FontAwesome}"
Text="{Binding XML}"
Margin="2"/>
</DataTemplate>
</ComboBox.ItemTemplate>
</ComboBox>
</DataTemplate>
</DataGridTemplateColumn.CellTemplate>
</DataGridTemplateColumn>
...
</DataGrid>
C#
dgMenus.ItemsSource = _viewmodel._menusForDisplay;
iconsLibrary = new FontAwesomeLibrary().icons;
は、任意のヘルプをお願い申し上げます。ありがとうございました。
あなたはこれが意味するものを明確にすることはできますか? ''オブジェクトのプロパティの1つはIcon(文字列) '" –
です。私はクラスメニューを持っています。そのプロパティの1つはpublic string Icon {get;}です。セット; }。また、DataGridのItemsSourceはMenuオブジェクトのコレクションです。 –
アイコンのリストが静的な場合は、それらを静的リソースに入れてItemsSourceをバインドすることができます。 –