WPF 跨用户控件传递数据

参考链接: https://blog.csdn.net/wnk1997/article/details/105920336

WPF 跨用户控件传递数据#

前言#

在写Wpf程序中,经常为了解耦,会写不同的用户控件组装到一个界面上,这样便于管理。但是呢,如果直接通过这个大的界面的某控件调用另一个其他用户控件中的控件,是不行滴!所以,这就是写本篇文章的理由。

项目实现#

项目结构#

image

2个用户控件【1个存放Button、1个存放TextBox】、1个主窗体【存放前2个用户控件】
1个工具类【实现 跨用户控件传递数据 】。

效果演示#

image
点击按钮
image

项目代码#

工具类#

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;
};
}
}
}
posted @   不爱菠萝的菠萝君  阅读(900)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· DeepSeek 开源周回顾「GitHub 热点速览」
· 物流快递公司核心技术能力-地址解析分单基础技术分享
· .NET 10首个预览版发布:重大改进与新特性概览!
· AI与.NET技术实操系列(二):开始使用ML.NET
· 单线程的Redis速度为什么快?
主题色彩
点击右上角即可分享
微信分享提示