【发布时间】:2013-11-17 20:00:34
【问题描述】:
我发现以下问题有点棘手,需要您的帮助。
我有一个弹出框,其中包含一个数据网格。此数据网格由 3 列组成,其中之一是组合框。
datagrids itemssource 绑定到一个属性,我想用它来提取在 datagrid 中输入的信息。
问题是,数据网格中的组合框应该动态填充,最好不要使用绑定。所以我想在代码隐藏中使用 C# 将元素添加到组合框。
如何使用 c# 将项目添加到作为数据网格的一部分的组合框?
【问题讨论】:
-
为什么不想使用绑定?
-
我实际上不会在代码隐藏中执行此操作,它将被放置在命令中,并且组合框无法绑定到正确的属性,因为它的数据上下文在其他地方..至少从我得到的结果来看。
-
@JesperPlantener 您需要使用
RelativeSource在 CellTemplate 或其他东西中找到 DataGrid 的 ViewModel。不要试图强迫 WPF 采用蹩脚的 winform 的过时程序方法。你会惨败。 WPF 不支持具有 winforms 心态的开发人员。 -
@JasperPlantener 或者为每一行创建一个“Row ViewModel”,其中包含要用作 ComboBox 的
ItemsSource的集合。 -
这可能行得通。我现在只是在尝试另一种解决方案,如果这不起作用,我会回到那个解决方案。