首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >XamDatagrid绑定问题

XamDatagrid绑定问题
EN

Stack Overflow用户
提问于 2012-11-15 16:43:44
回答 2查看 5.1K关注 0票数 1

我有一个MVVM C#/WPF应用程序。我想将一个XamDataGrid绑定到我的一个视图模型上,这样用户就可以定义他们想要的结果结构--哪一列映射到哪一个变量。

我的核心包含这样的字典- Dictionary<string, string>,我希望将它包装在ObservableCollection中并绑定到它,而不是将数据复制到DataTable。问题是,我不能以这种方式添加行(视图似乎被锁定,无法添加),并且更改不会保存。我的代码:

代码语言:javascript
复制
    <igDP:XamDataGrid
        Grid.Row="1" Grid.Column="0"
        Name="resultStructure"
        DataSource="{Binding VariablesDictionary, Mode=TwoWay}"
        GroupByAreaLocation="None">
        <igDP:XamDataGrid.FieldLayoutSettings>
            <igDP:FieldLayoutSettings 
                AllowFieldMoving="WithinLogicalRow"
                AllowAddNew="True" 
                AllowDelete="True" 
                AddNewRecordLocation="OnBottomFixed" />
        </igDP:XamDataGrid.FieldLayoutSettings>
    </igDP:XamDataGrid>

视图模型(相关部分):

代码语言:javascript
复制
private ObservableCollection<DictionaryEntry> variablesDictionary;
        public ObservableCollection<DictionaryEntry> VariablesDictionary
        {
            get { return variablesDictionary; }
            set
            {
                variablesDictionary = value;
                OnPropertyChanged(()=>VariablesDictionary);
            }
        }

..。

代码语言:javascript
复制
List<DictionaryEntry> vars = resultStructureModel.Variables.Select(x => new DictionaryEntry {Key = x.Key, Value = x.Value}).ToList();
            VariablesDictionary = new ObservableCollection<DictionaryEntry>(vars);
EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2012-11-19 14:18:21

最终起作用的是使用BindingListObservableCollection不允许您添加行,但是BindingList确实提供了我需要的一切。

票数 0
EN

Stack Overflow用户

发布于 2012-11-15 22:19:34

对于添加行,XamDataGrid使用IEditableCollectionView.CanAddnew或IBindingList.AllowNew。

如果您使用ListCollectionView作为网格的DataSource,那么您可以添加新行。

要将ListCollectionView与ObservableCollection一起使用,请将ObservableCollection传递给ListCollectionView,然后使用CollectionView绑定到网格。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/13393979

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档