WPF 跨用户控件传递数据
参考链接: https://blog.csdn.net/wnk1997/article/details/105920336
WPF 跨用户控件传递数据#
前言#
在写Wpf程序中,经常为了解耦,会写不同的用户控件组装到一个界面上,这样便于管理。但是呢,如果直接通过这个大的界面的某控件调用另一个其他用户控件中的控件,是不行滴!所以,这就是写本篇文章的理由。
项目实现#
项目结构#
2个用户控件【1个存放Button、1个存放TextBox】、1个主窗体【存放前2个用户控件】
1个工具类【实现 跨用户控件传递数据 】。
效果演示#
项目代码#
工具类#
namespace Wpf跨用户控件传数据 { static public class DataTool { //自定义事件委托 //发送信息 public delegate void PropertyChangedEventHandler(string e); static public event PropertyChangedEventHandler propertyChangedHandler; //定义数据类型 static private string data; static public string MyProperty_data { get { return data; } set { data = value; propertyChangedHandler(data); } } } }
2个用户控件后台代码#
namespace Wpf跨用户控件传数据 { /// <summary> /// UserControlButton.xaml 的交互逻辑 /// </summary> public partial class UserControlButton : UserControl { public UserControlButton() { InitializeComponent(); } private void Button_Click(object sender, RoutedEventArgs e) { DataTool.MyProperty_data = "这是传的数据!"; } } }
namespace Wpf跨用户控件传数据 { /// <summary> /// UserControlTextBox.xaml 的交互逻辑 /// </summary> public partial class UserControlTextBox : UserControl { public UserControlTextBox() { InitializeComponent(); //绑定数据 DataTool.propertyChangedHandler += (val) => { textBox.Text = val; }; } } }
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· DeepSeek 开源周回顾「GitHub 热点速览」
· 物流快递公司核心技术能力-地址解析分单基础技术分享
· .NET 10首个预览版发布:重大改进与新特性概览!
· AI与.NET技术实操系列(二):开始使用ML.NET
· 单线程的Redis速度为什么快?