Nig*_*ker 6 .net wpf xaml binding datagrid
我正在尝试数据绑定 DataGridComboBoxColumn
<DataGridComboBoxColumn Header="Number of Copies" SelectedItemBinding="{Binding NumberCopies}">
<DataGridComboBoxColumn.ElementStyle>
<Style TargetType="ComboBox">
<Setter Property="ItemsSource" Value="{Binding LifeAreaList}"/>
<Setter Property="IsReadOnly" Value="True"/>
</Style>
</DataGridComboBoxColumn.ElementStyle>
</DataGridComboBoxColumn>
Run Code Online (Sandbox Code Playgroud)
我在这里做错了,因为我在运行时得到一个空的组合框.
我得到了关注
System.Windows.Data错误:2:找不到目标元素的管理FrameworkElement或FrameworkContentElement.BindingExpression:路径= LifeAreaList; 的DataItem = NULL; target元素是'DataGridComboBoxColumn'(HashCode = 49475561); target属性是'ItemsSource'(输入'IEnumerable')
DataGridColumn不是源于FrameworkElement或FrameworkContentElement不是它不在视觉树中而且没有a DataContext,这就是你的Binding失败的原因.
如果List<int>您绑定的对于每个项目都是相同的,那么您可能应该找到另一种绑定方式,也许您可以将其设置为静态并StaticResource在绑定中使用.
无论如何,要绑定ItemsSource到List<int>源类中的属性,您可以使用ElementStyle和ElementEditingStyle(如其他人所指出的).以下应该有效
<DataGridComboBoxColumn Header="Number of Copies"
SelectedItemBinding="{Binding ListAreaItem}">
<DataGridComboBoxColumn.ElementStyle>
<Style TargetType="ComboBox">
<Setter Property="ItemsSource" Value="{Binding LifeAreaList}"/>
</Style>
</DataGridComboBoxColumn.ElementStyle>
<DataGridComboBoxColumn.EditingElementStyle>
<Style TargetType="ComboBox">
<Setter Property="ItemsSource" Value="{Binding LifeAreaList}"/>
</Style>
</DataGridComboBoxColumn.EditingElementStyle>
</DataGridComboBoxColumn>
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
3628 次 |
| 最近记录: |