【发布时间】:2012-12-09 12:53:55
【问题描述】:
我很喜欢通过 WPF 用户控件中的 DataContext 属性(绑定 DataTable)实现非常简单的 Datagrid 填充。我将代码从用户控制项目传输到 WPF Windows 项目,它工作正常。发生什么了?下面是在 WPF Window 中有效但在 WPF User Control 中无效的代码:
XAML:
<DataGrid AutoGenerateColumns="true" ItemsSource="{Binding}" Height="282" HorizontalAlignment="Left" Margin="6,6,0,0" Name="datGrdFalhas" VerticalAlignment="Top" Width="494" FontWeight="Normal" IsReadOnly="True" FontSize="14" TabIndex="211" />
代码: ...
DataTable datTblFalhas = new DataTable();
datTblFalhas.Columns.Add("Alarme",
typeof(string)
);
datTblFalhas.Columns.Add("Momento",
typeof(string)
);
DataRow datRowAlarme = datTblFalhas.NewRow();
datRowAlarme[0] = "a";
datRowAlarme[1] = "b";
datTblFalhas.Rows.Add(datRowAlarme);
datGrdFalhas.DataContext = datTblFalhas;
...
谢谢,
【问题讨论】:
-
它对我来说很好用。直接在一个窗口中和在窗口中的 UserControl 中。也许你的问题不相关?怎么放userControl?
-
你确定这段代码在 UserControl 中运行吗?
-
感谢您的回答。用户控件几乎是一个 Windows 项目,包含图表、组合、文本框等。是的,我在 WPF Windows 项目中运行此代码,该项目成功地容纳了用户控件。我在网上搜索并找到了一些关于绑定的用户控制项目配置,但没有任何效果。在帖子中遵循初始 WPF 声明:
-
我可以在 8 小时内发布,但用户控件还有其他绑定命令成功(列表框、图表和组合框)。
标签: wpf datagrid user-controls