我有下一节课:
public class GridViewControlModel : NotificationObject
{
DataTable datasource;
public DataTable Datasource
{
get
{
return datasource;
}
set
{
datasource = value;
RaisePropertyChanged("Datasource");
}
}
ObservableCollection<string> fieldsNames;
public ObservableCollection<string> FieldsNames
{
get
{
if (fieldsNames == null)
{
fieldsNames = new ObservableCollection<string>();
}
return fieldsNames;
}
set
{
fieldsNames = value;
RaisePropertyChanged("FieldsNames");
}
}
//and more properties
}
属性“FieldsNames”包含我想绑定到 GridView 数据列标题的列标题列表。
在我的 ViewModel 中,我创建了属性 - GridViewControlModel CurrentGridViewData,我想将我的 GridView 列标题绑定到我的 CurrentGridViewData.FieldsNames[indexes]
例如
<dxg:GridColumn1 Header="{Binding CurrentGridViewData, Path=CurrentGridViewData.FieldsNames[0]}">
<dxg:GridColumn2 Header="{Binding CurrentGridViewData, Path=CurrentGridViewData.FieldsNames[1]}">
等等...我正在与 DevExpress gridCointrol 合作,但我认为这无关紧要。
如何将属性绑定到特定的 ObservableCollection 索引?
我将解释我想要做什么。我有许多视图的 GridControl。当用户切换视图时,网格控件需要更改其整个结构(不同的列数、列标题、列大小、类型等)。我创建了一个包含每个视图的所有属性和设置的类(我的问题中的这个 CurrentGridViewData 类),当用户切换视图时,我将 CurrentGridViewData 的引用更改为正确的视图实例,并通过绑定我想要进行所有网格更改。有没有更好的办法?
谢谢
谢谢
我想我找到了与 DevExpress GridControl 相关的可能解决方案。看下一个链接 http://documentation.devexpress.com/#wpf/CustomDocument10121
你在想什么?它比使用 DataTemplate 更好吗?
谢谢