【发布时间】:2012-12-12 14:58:57
【问题描述】:
我需要在运行时将列添加到 silverlight 列,并执行列的绑定。
这就是我在 xaml 中静态处理的方式
<sdk:DataGridTextColumn CanUserReorder="True" CanUserResize="True" CanUserSort="True" Header="CriteriaName" Width="2*" Binding="{Binding Path=[CriteriaName]}" IsReadOnly="True" />
现在我想在后面的代码中做同样的事情,
这就是我所做的
foreach(string Col in lColumnNames)
{
DataGridTextColumn DGCol=new DataGridTextColumn();
DGCol.Header= Col;
Binding lObjBinding = new Binding(Col);
lObjBinding.Mode = BindingMode.OneWay;
DGCol.Binding = lObjBinding;
GrdQuickFindResult.Columns.Add(DGCol);
}
这不起作用。我只能看到 DataGrid 中的空白行,就好像绑定没有发生一样。请检查并告诉我我使用 xaml 完成的所有事情是否也使用 C# 完成,或者是否有一些属性需要在我创建的绑定对象中设置。 谢谢
【问题讨论】:
-
您确定您的“Col”列名称与您要绑定的属性名称匹配吗?
-
是的,我确定,,,,标题名称和属性名称相同,
-
您能告诉我如何使用 c# Binding="{Binding Path=[CriteriaName]}" 编写以下 xaml 代码我如何设置 Path 属性。仅绑定 lObjBinding = new Binding (Col) 没有帮助我尝试从 xaml 中删除 path 关键字,我看到的只是空行,因为我在使用后面的代码绑定时看到。所以我觉得这是因为我没有正确地包含这个 Binding="{Binding Path=[CriteriaName]}" 使用 c#。 @亚瑟
标签: silverlight binding