WPF 的Datagrid 中Combobox 绑定数据问题

海口_菜鸟 2020-10-12 05:41:25
求助一下,WPF中如果Datagrid 添加的行数属于动态的,想要给每行中的Combobox 绑定一个动态的数据源。应该怎么作?
谢谢!
...全文
24633 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
OrdinaryCoder 2020-10-23
  • 打赏
  • 举报
回复
引用 5 楼 海口_菜鸟 的回复:
[quote=引用 1 楼 OrdinaryCoder 的回复:]Datagrid 一行对应一个类 类中写个dictionary 和ComboBox绑定就OK
---- 谢谢,如果Datagrid绑定的list添加了10行,要想绑定这10行中每一行的ComboBox,代码我想不出来咋写。 能否指导一下?谢谢![/quote] List添加10行 数据不是自动到ComboBox的下拉框里了吗
海口_菜鸟 2020-10-22
  • 打赏
  • 举报
回复
引用 1 楼 OrdinaryCoder 的回复:
Datagrid 一行对应一个类 类中写个dictionary 和ComboBox绑定就OK
---- 谢谢,如果Datagrid绑定的list添加了10行,要想绑定这10行中每一行的ComboBox,代码我想不出来咋写。 能否指导一下?谢谢!
海口_菜鸟 2020-10-22
  • 打赏
  • 举报
回复
引用 2 楼 N_Share_Service 的回复:
<DataGridTemplateColumn Width="0.7*" CanUserSort="False" Header="哈哈哈" > ...... 我记得好像可以这样写..里面的textbox 换成ComboBox
---------------- 如果Datagrid绑定的list,添加10行数据后,我怎么给每一行的ComboBox 绑定数据? 我想不出来代码应该怎么写,能否赐教一下? 谢谢!
海口_菜鸟 2020-10-22
  • 打赏
  • 举报
回复
引用 2 楼 N_Share_Service 的回复:
<DataGridTemplateColumn Width="0.7*" CanUserSort="False" Header="哈哈哈" > ....... 我记得好像可以这样写..里面的textbox 换成ComboBox
谢谢,我试试看
誰是方長 2020-10-21
  • 打赏
  • 举报
回复
<DataGridTemplateColumn Width="0.7*" CanUserSort="False" Header="哈哈哈" > <DataGridTemplateColumn.CellTemplate> <DataTemplate> <TextBox Text="{Binding ProfitAndLossAmount, Mode=TwoWay, UpdateSourceTrigger=PropertyChanged}" ToolTip="{Binding ProfitAndLossAmount, Mode=TwoWay, UpdateSourceTrigger=PropertyChanged}" BorderThickness="0" Background="Transparent" IsReadOnly="True" Foreground="{Binding ProfitAndLossAmount,Mode=TwoWay,Converter={StaticResource RedPackUserYKColor}}" /> </DataTemplate> </DataGridTemplateColumn.CellTemplate> </DataGridTemplateColumn> 我记得好像可以这样写..里面的textbox 换成ComboBox
OrdinaryCoder 2020-10-16
  • 打赏
  • 举报
回复
Datagrid 一行对应一个类 类中写个dictionary 和ComboBox绑定就OK
资源下载链接为: https://pan.quark.cn/s/d9ef5828b597 在WPF开发DataGrid控件是展示和编辑结构化数据的强大工具。有时,我们可能需要在DataGrid的每一行添加一个ComboBox,并且每个ComboBox数据源都需要独立设置,以满足特定的业务需求。这可以通过灵活的数据绑定和模板来实现。以下是详细的步骤和代码示例: DataGrid通过其ItemsSource属性绑定到一个数据源(如ObservableCollection或ICollectionView),根据数据的元素生成对应数量的行。每一行的单元格内容可以通过DataGridTemplateColumn定义自定义的显示和编辑模板。 创建一个类,包含每个数据项的主要属性以及ComboBox所需的下拉列表数据。例如: 填充一个ObservableCollection,并将其设置为DataGrid的ItemsSource: 在XAML,为DataGrid的某个列定义一个DataGridTemplateColumn,其包含一个ComboBox。使用ItemTemplate来设置ComboBox数据源,通过RelativeSource找到当前行的数据上下文: 在这个例子,RelativeSource AncestorType=DataGridRow用于找到当前行的DataContext,即MyDataItem对象,然后从其ComboBoxOptions属性获取数据作为ComboBox的ItemsSource。这样,每个ComboBox数据源就是与其对应的MyDataItem实例ComboBoxOptions列表。 运行程序后,每个ComboBox将显示其所在行的数据上下文ComboBoxOptions列表。这种方法不仅保持了数据绑定

8,757

社区成员

发帖
与我相关
我的任务
社区描述
WPF/Silverlight相关讨论
社区管理员
  • WPF/Silverlight社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧