c# - 在 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列表中的实际位置。
我希望您的理解,并提前感谢您!
解决方案
为了反映集合中的变化,您的集合应该是 Observable 集合。请参阅这篇文章如何使用可观察集合:https ://www.c-sharpcorner.com/UploadFile/e06010/observablecollection-in-wpf/ 。
这个问题是一个很好的例子,可以用来查看数据网格绑定:MVVM 数据网格绑定 当您将新的预留添加到您的预留列表(您将其设为 Observable)时,更改将反映在 UI 中。我希望这将有所帮助。
当你使用 WPF 时,你应该遵循 MVVM 模式,因为它会让你的生活更轻松。在此处查看一些教程链接:MVVM:从头到尾的教程?我希望这将有所帮助。
推荐阅读
- java - 如何在 android studio 中使用 setSupportActionBar 功能?
- javascript - 可以在草稿电子邮件上激活 Outlook 任务窗格应用程序吗?
- python - 列上的 Python / Pandas / PuLP 优化
- node.js - mongoDB:得到错误“HostNotFound:找不到地址”和“internal/modules/cjs/loader.js:968 throw err”
- excel - 未找到所需文本时停止子
- javascript - 有没有办法将特定行分配给经常使用的变量?
- java - Spring请求参数的自定义验证
- javascript - 如何在 VSCode 中为全局注册的 Vue 组件启用自动补全?
- node.js - 找不到模块:错误:无法解析“scss-loader”
- r - 代码在函数之外工作,但不在函数内部