gpt4 book ai didi

.net - DataGridComboBoxColumn 数据绑定(bind)

转载 作者:行者123 更新时间:2023-12-04 13:43:24 25 4
gpt4 key购买 nike

我正在尝试数据绑定(bind) 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>

我在这里做错了什么,因为我在运行时得到了一个空的组合框。

我得到了关注

System.Windows.Data Error: 2 : Cannot find governing FrameworkElement or FrameworkContentElement for target element. BindingExpression:Path=LifeAreaList; DataItem=null; target element is 'DataGridComboBoxColumn' (HashCode=49475561); target property is 'ItemsSource' (type 'IEnumerable')

最佳答案

DataGridColumn并非源自 FrameworkElementFrameworkContentElement所以它不在可视树中,也没有 DataContext这就是您的绑定(bind)失败的原因。

如果 List<int>您绑定(bind)的每个项目都是相同的,那么也许您应该找到另一种绑定(bind)方式,也许您可​​以将其设为静态并使用 StaticResource在绑定(bind)中。

无论如何,绑定(bind)ItemsSourceList<int>您可以使用源类中的属性ElementStyleElementEditingStyle (正如其他人指出的那样)。以下应该工作

<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>

关于.net - DataGridComboBoxColumn 数据绑定(bind),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7050286/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com