首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >WPF数据农业绑定字段

WPF数据农业绑定字段
EN

Stack Overflow用户
提问于 2022-02-17 02:36:47
回答 2查看 41关注 0票数 0

我有这样一门课,

代码语言:javascript
复制
public class Class1
{
    public bool IsSelected { get; set; } = false;
    public List<BaseInfo> baseInfos { get; set; }
}

和一个数据

代码语言:javascript
复制
<DataGrid
            hc:DataGridAttach.CanUnselectAllWithBlankArea="True"
            AutoGenerateColumns="True"
            AutoGeneratingColumn="DataGrid_AutoGeneratingColumn"
            HeadersVisibility="All"
            IsReadOnly="True"
            ItemsSource="{Binding Class1}"
            RowHeaderWidth="60">
            <DataGrid.RowHeaderTemplate>
                <DataTemplate>
                    <CheckBox IsChecked="{Binding IsSelected, RelativeSource={RelativeSource AncestorType=DataGridRow}}" />
                </DataTemplate>
            </DataGrid.RowHeaderTemplate>
        </DataGrid>

实际上,我不能这样做--如何设置baseInfos设置AutoGenerateColumns="True“自动生成的列,谢谢!

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2022-02-17 04:04:18

ItemsSource绑定应该是一个列表,而不是一个类,而IsSelected应该是BaseInfo中的一个属性,而不是它之外的一个属性!!不明白为什么你会有Class1,因为它对任何事情都没有帮助!!

因此,将public bool IsSelected { get; set; } = false;添加到类BaseInfo中。就像这样:

代码语言:javascript
复制
public class BaseInfo {
     public bool IsSelected { get; set; } = false;
     public string Name { get; set; }
     public string SOMETHING { get; set; }
}
票数 1
EN

Stack Overflow用户

发布于 2022-02-17 04:14:59

属性将自动为您创建空列,

但是,如果要创建新行,则需要创建Class1列表并将其绑定到ItemSource

.cs:

代码语言:javascript
复制
    public List<Class1> ClassList
    {
        get
        {
            return classList?? (classList= new List<Class1>());
        }
        set
        {
            classList= value;
        }
    }
    List<Class1> classList;

增加一些项目:

代码语言:javascript
复制
ClassList.Add(new Class1
                {
                    IsSelected = true,
                });
                ClassList.Add(new Class1
                {
                    IsSelected = true,
                });

xaml:

代码语言:javascript
复制
<DataGrid ItemsSource="{Binding ClassList}">
</DataGrid>
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/71151803

复制
相关文章

相似问题

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