Bra*_*itz 2 data-binding silverlight wpf datagrid
我想在数据网格中有一个组合框来显示实际图像的列表,而不是文本。
我可以通过手动构建组合框来完成这项工作,但似乎无法通过绑定来完成(这是可以使用数据网格的唯一方式)。
我也尝试过,template column,
但得到了相同的结果 - 显示图像类名称的文本列表。任何样本证明这一点?
根据需要嵌套尽可能多的模板,如果您ComboBox
显示的类名称只是设置ComboBox.ItemTemplate
为对您的类执行某些操作。在这里,我假设MyImageList
由ImageSource
对象组成(需要更多的尺寸规范):
<DataGridTemplateColumn>
<DataGridTemplateColumn.CellTemplate>
<DataTemplate>
<ComboBox ItemsSource="{Binding MyImageList}">
<ComboBox.ItemTemplate>
<DataTemplate>
<Image Source="{Binding}"/>
</DataTemplate>
</ComboBox.ItemTemplate>
</ComboBox>
</DataTemplate>
</DataGridTemplateColumn.CellTemplate>
</DataGridTemplateColumn>
Run Code Online (Sandbox Code Playgroud)
或者,您也可以使用 a DataGridComboBoxColumn
,只需使用CellStyle
来设置DataTemplate
可以显示您的图像:
<DataGridComboBoxColumn ItemsSource="{Binding MyImageList}">
<DataGridComboBoxColumn.CellStyle>
<Style TargetType="ComboBox">
<Setter Property="ItemTemplate">
<Setter.Value>
<DataTemplate>
<Image Source="{Binding}"/>
</DataTemplate>
</Setter.Value>
</Setter>
</Style>
</DataGridComboBoxColumn.CellStyle>
</DataGridComboBoxColumn>
Run Code Online (Sandbox Code Playgroud)