首页 > 解决方案 > 在 UserControl 中刷新数据网格

问题描述

我学习了 c# 和 wpf,但我不知道如何处理这样的事情:

我有 2 个窗口(一个带有用户控件)和 1 个类。

窗口1

    List<Reservation> reservationList = new List<Reservation>();
    private void ToggleButton_Checked(object sender, RoutedEventArgs e)
        {
            var button = (ToggleButton)sender;
            var item = button.DataContext as Hall;
            Reservation nres = new Reservation();
            nres.movieName = item.moviename;
            nres.seat = item.number;
            nres.rowID = item.row;
            reservationList.Add(nres);
        }

        private void Add_Button_Click(object sender, RoutedEventArgs e)
        {
        }

类包含

 class Reservation
{
    public string movieName { get; set; }
    public int seat { get; set; }
    public string rowID { get; set; }
}

Window2 具有带有数据网格的 UserControl。

你能给我一些建议如何将window2用户控件数据网格绑定到window1中的列表,当我点击window1中的添加按钮时,它会刷新用户控件并显示window1列表中的实际位置。

我希望您的理解,并提前感谢您!

标签: c#wpfdatagrid

解决方案


为了反映集合中的变化,您的集合应该是 Observable 集合。请参阅这篇文章如何使用可观察集合:https ://www.c-sharpcorner.com/UploadFile/e06010/observablecollection-in-wpf/ 。

这个问题是一个很好的例子,可以用来查看数据网格绑定:MVVM 数据网格绑定 当您将新的预留添加到您的预留列表(您将其设为 Observable)时,更改将反映在 UI 中。我希望这将有所帮助。

当你使用 WPF 时,你应该遵循 MVVM 模式,因为它会让你的生活更轻松。在此处查看一些教程链接:MVVM:从头到尾的教程?我希望这将有所帮助。


推荐阅读