Wpf DataGrid设置列标题动态绑定实例

这篇具有很好参考价值的文章主要介绍了Wpf DataGrid设置列标题动态绑定实例。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

在 WPF 中,可以使用 DataGrid 控件来显示和编辑表格式的数据。要设置 DataGrid 列标题的动态绑定,可以使用 DataGrid 的列定义和绑定功能。

以下是一个示例,展示如何使用动态绑定设置 DataGrid 的列标题:

  1. 在 XAML 中定义 DataGrid 控件,并为其定义列:
<DataGrid AutoGenerateColumns="False" ItemsSource="{Binding PersonsView}">
                <DataGrid.Columns>
                    <DataGridTextColumn Header="Name" Binding="{Binding Name}"/>
                    <DataGridTextColumn Header="Age" Binding="{Binding Age}"/>
                    <!--后台动态设置列表标题-->
                    <DataGridTextColumn Width="120" Binding="{Binding Email}">
                        <!--显示标题需要在DataGridTextColumn.Header中绑定,否则不生效-->
                        <DataGridTextColumn.Header>
                            <!--向上查找数据源,然后绑定数据-->
                            <TextBlock Text ="{Binding RelativeSource={RelativeSource Mode=FindAncestor,AncestorType=Window},Path=DataContext.HeaderEmail,UpdateSourceTrigger=PropertyChanged,Mode=TwoWay}" />
                        </DataGridTextColumn.Header>
                    </DataGridTextColumn>
                </DataGrid.Columns>
            </DataGrid>
  1. 在代码后台(如 ViewModel 或 Code-behind)中,为 DataGrid 的 ItemsSource 属性设置绑定,并提供数据源:
 public class DataGridViewModel : INotifyPropertyChanged
    {
        public ObservableCollection<Person> Persons { get; set; } = new ObservableCollection<Person>()
        {
            new Person() { Name = "John Doe", Age = 25, Email = "john@example.com" },
            new Person() { Name = "Jane Smith", Age = 30, Email = "jane@example.com" },
            // Add more items here...
        };

        public DataGridViewModel()
        {
            this.PersonsView = new CollectionViewSource { Source = this.Persons };
            this.DataContext = this;
            HeaderEmail = "Email";
        }

        public ICollectionView PersonsView { get; set; }

        public event PropertyChangedEventHandler PropertyChanged;

        private string headerEmail;

        public string HeaderEmail
        {
            get { return headerEmail; }
            set
            {
                headerEmail = value;
                PropertyChanged?.Invoke(this, new PropertyChangedEventArgs(nameof(HeaderEmail)));
            }
        }
    }

  这样,DataGrid 的列标题将会根据定义的数据源动态显示。在示例中,通过将 DataGrid 的 ItemsSource 属性绑定到 ViewModel 中的 ObservableCollection,并通过列定义中的 Header 和 Binding 属性来指定列标题和数据源中的字段。

  文章来源地址https://www.toymoban.com/news/detail-711648.html

到了这里,关于Wpf DataGrid设置列标题动态绑定实例的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • WPF入门教程系列二十四——DataGrid使用示例(1)

    WPF入门教程系列目录 WPF入门教程系列二——Application介绍 WPF入门教程系列三——Application介绍(续) WPF入门教程系列四——Dispatcher介绍 WPF入门教程系列五——Window 介绍 WPF入门教程系列十一——依赖属性(一) WPF入门教程系列十五——WPF中的数据绑定(一)           WPF技术

    2024年02月04日
    浏览(37)
  • WPF入门教程系列二十五——DataGrid使用示例(2)

    WPF入门教程系列目录 WPF入门教程系列二——Application介绍 WPF入门教程系列三——Application介绍(续) WPF入门教程系列四——Dispatcher介绍 WPF入门教程系列五——Window 介绍 WPF入门教程系列十一——依赖属性(一) WPF入门教程系列十五——WPF中的数据绑定(一)        默认情况下

    2024年02月05日
    浏览(49)
  • WPF入门教程系列二十六——DataGrid使用示例(3)

    WPF入门教程系列目录 WPF入门教程系列二——Application介绍 WPF入门教程系列三——Application介绍(续) WPF入门教程系列四——Dispatcher介绍 WPF入门教程系列五——Window 介绍 WPF入门教程系列十一——依赖属性(一) WPF入门教程系列十五——WPF中的数据绑定(一)   五、DataGrid的DataG

    2024年02月06日
    浏览(41)
  • WPF入门教程系列二十九 ——DataGrid使用示例MVVM模式(7)

    WPF入门教程系列目录 WPF入门教程系列二——Application介绍 WPF入门教程系列三——Application介绍(续) WPF入门教程系列四——Dispatcher介绍 WPF入门教程系列五——Window 介绍 WPF入门教程系列十一——依赖属性(一) WPF入门教程系列十五——WPF中的数据绑定(一)   接上文 WPF入门教程

    2024年02月10日
    浏览(46)
  • WPF入门教程系列二十八 ——DataGrid使用示例MVVM模式(6)

    WPF入门教程系列目录 WPF入门教程系列二——Application介绍 WPF入门教程系列三——Application介绍(续) WPF入门教程系列四——Dispatcher介绍 WPF入门教程系列五——Window 介绍 WPF入门教程系列十一——依赖属性(一) WPF入门教程系列十五——WPF中的数据绑定(一)       7.上面Buttom的

    2024年02月09日
    浏览(39)
  • WPF入门教程系列二十八 ——DataGrid使用示例MVVM模式(5)

    WPF入门教程系列目录 WPF入门教程系列二——Application介绍 WPF入门教程系列三——Application介绍(续) WPF入门教程系列四——Dispatcher介绍 WPF入门教程系列五——Window 介绍 WPF入门教程系列十一——依赖属性(一) WPF入门教程系列十五——WPF中的数据绑定(一)           通过上面

    2024年02月08日
    浏览(35)
  • WPF入门教程系列二十七 ——DataGrid使用示例MVVM模式(4)

    WPF入门教程系列目录 WPF入门教程系列二——Application介绍 WPF入门教程系列三——Application介绍(续) WPF入门教程系列四——Dispatcher介绍 WPF入门教程系列五——Window 介绍 WPF入门教程系列十一——依赖属性(一) WPF入门教程系列十五——WPF中的数据绑定(一)       计算机界的顶

    2024年02月07日
    浏览(40)
  • C#WPF动态资源和静态资源应用实例

    本文实例演示C#WPF动态资源和静态资源应用 静态资源(StaticResource)指的是在程序载入内存时对资源的一次性使用,之后就不再访问这个资源了。 动态资源(DynamicResource)指的是在程序运行过程中然会去访问资源。 WPF中,每个界面元素都含有一个名为Resources的属性,其存储的是以

    2024年02月07日
    浏览(37)
  • 路由器ip与MAC地址可以不设置绑定吗详细解答

    网吧路由器上设置客户机的MAC与IP地址如果不做绑定,只做路由器的基本设置可以吗? 解答 :网吧路由器ip地址与设置客户机的MAC与如果不做绑定,是可以只做路由器的基本上网设置。也可以把路由器上DHCP服务器前勾要去掉的,采用全面扫描自动邦定MAC和IP地址来管理,就比较

    2024年02月05日
    浏览(43)
  • 无线路由器设置指定电脑可以上网采用绑定电脑MAC网卡地址实现

    公司里的无线路由器密码经常被人破解,于是想到在无线路由器中直接绑定电脑的MAC网卡地址来禁止陌生的网络连接。下面以TD-89841N无线路由器为例来为大家讲解无线路由器如何设置只有指定电脑才能上网。 首先就是保持自己的电脑能正常的连结网络,也能正常的上网。然后

    2024年02月05日
    浏览(63)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包