我已经绑定DataTable了DataGrid控件.如何以编程方式设置所选项?
例
在我的view model我有一个DataTable类型的属性来绑定DataGrid
private DataTable sizeQuantityTable;
public DataTable SizeQuantityTable
{
get
{
return sizeQuantityTable;
}
set
{
sizeQuantityTable = value;
NotifyPropertyChanged("SizeQuantityTable");
}
}
Run Code Online (Sandbox Code Playgroud)
我的 XAML
<DataGrid
ItemsSource="{Binding SizeQuantityTable}"
AutoGenerateColumns="True"
Margin="0,0,0,120" />
Run Code Online (Sandbox Code Playgroud)
该constructor视图模型的(分配虚拟值)
this.SizeQuantityTable = new DataTable();
DataColumn sizeQuantityColumn = new DataColumn();
sizeQuantityColumn.ColumnName = "Size Quantity";
this.SizeQuantityTable.Columns.Add(sizeQuantityColumn);
DataColumn sColumn = new DataColumn();
sColumn.ColumnName = "S";
this.SizeQuantityTable.Columns.Add(sColumn);
DataColumn mColumn = new DataColumn();
mColumn.ColumnName = "M";
this.SizeQuantityTable.Columns.Add(mColumn);
DataRow row1 = this.SizeQuantityTable.NewRow();
row1[sizeQuantityColumn] …Run Code Online (Sandbox Code Playgroud) 我想在带有 MVVM 应用程序的 WPF 中的用户界面中创建一个数据透视表。所以列数不是静态的。
我发现我可以以编程方式从文件背后的代码中添加列(如下面的代码片段所示)。
myDataGrid.Columns.Add(column );
Run Code Online (Sandbox Code Playgroud)
但我不想要使用的代码隐藏文件。我想用 MVVM(从视图模型)来做到这一点。谁能给我一个解决方案?
我有两个名为Hbt.DMS.BusinessLogic和Hbt.DMS.Web的项目。在Hbt.DMS.BusinessLogic中,我有一个名为Operations的文件夹。当我尝试在Operations文件夹中创建一个新文件时,它在文件内部生成了错误的名称空间。
ex: the generated namespace: Greenwich.DMS.Web.Operations
expected namespace: Greenwich.DMS.BusinessLogic.Operations
Run Code Online (Sandbox Code Playgroud)
我注意到,当我尝试在Hbt.DMS.BusinessLogic项目的任何文件夹中创建新文件时,都会发生这种情况。
我想念什么?
我已将ObservableCollection绑定到a DataGrid并AutoGenerateColumns在具有MVVM应用程序的WPF 中将其设置为true.
那我怎么才能stop一specific column要在DataGrid中出现?
我在这里看到了同样的问题.但我正在寻找更多的MVVM方法.