首页 > 其他分享 >WPF 跨用户控件传递数据

WPF 跨用户控件传递数据

时间:2023-05-29 15:35:43浏览次数:42  
标签:控件 用户 static 传递数据 WPF data public

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
            {
                data1 = 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;
            };
        }
    }
}

标签:控件,用户,static,传递数据,WPF,data,public
From: https://www.cnblogs.com/swbna/p/17440595.html

相关文章

  • WPF 入门笔记 - 02 - 布局综合应用
    本篇博文对接上篇末尾处WPF常用布局控件的综合应用,为痕迹g布局控件介绍课后作业的一个思路方法。前言首先来谈一谈布局原则:WPF窗口只能包含一个元素(Window元素属于内容控件,内容控件只允许有一个子元素),所以我们得在窗口中放置一个容器,才能使我们的窗口放置更多的内容。所以......
  • WPF中使用EntityFramework6和Identity
    2023年05月28日VS2022WFP.NETFramework,Version=v4.6.2测试通过NUGET:EntityFramework6.4.4,Microsoft.AspNet.Identity.EntityFramework2.2.3  //扩展内置的identityuserpublicclassApplicationUser:IdentityUser{publicstringSex{set;g......
  • WPF入门教程系列二十六——DataGrid使用示例(3)
    WPF入门教程系列目录WPF入门教程系列二——Application介绍WPF入门教程系列三——Application介绍(续)WPF入门教程系列四——Dispatcher介绍WPF入门教程系列五——Window介绍WPF入门教程系列十一——依赖属性(一)WPF入门教程系列十五——WPF中的数据绑定(一) 五、DataGr......
  • Flutter控件之Stack控件
    简介Flutter中的Stack控件是一种可用于将多个子控件重叠在一起的布局控件。Stack将所有子控件放在同一个位置,它们可以根据需要进行定位、缩放或旋转。Stack中的子控件可以是任何类型的控件,例如文本、图像、按钮等。主要属性Stack控件的主要属性包括:alignment:用于指定子控件的......
  • Flutter控件之Stack控件
    简介Flutter中的Stack控件是一种可用于将多个子控件重叠在一起的布局控件。Stack将所有子控件放在同一个位置,它们可以根据需要进行定位、缩放或旋转。Stack中的子控件可以是任何类型的控件,例如文本、图像、按钮等。主要属性Stack控件的主要属性包括:alignment:用于指定子控件的......
  • 读取WINCC归档数据-WPF程序-2
       读取WINCC归档数据-可以读取实时WINCC数据和以往的数据,本文介绍读取实时数据的方法。  读取实际运行PLC的方法要简单些,这里介绍的是仿真读取。  1.运行博图并仿真程序 2.运行WINCC 3.用MicrosoftSQLServerManagementStudio18监视连接  ......
  • WPF 设置圆角窗体,通过ListView模拟下拉组合款
    界面:<Windowx:Class="WpfApp2.MainWindow"xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"xmlns:d="http://schemas.micros......
  • winfrom中对datagridview控件更新数据并添加到数据库中
    第一种方法:双击鼠标直接修改数据同步到数据库1、首先在app.config配置数据库<?xmlversion="1.0"encoding="utf-8"?><configuration>   <connectionStrings>      <addname="local"         connectionString="DataSource=DESKTOP-H......
  • WPF入门实例 WPF完整例子 WPF DEMO WPF学习完整例子 WPF实战例子 WPF sql实例应用 WPF
    WPF和WinForms都是用于创建Windows桌面应用程序的开发框架,它们有一些相似之处,但也有很多不同之处。在开发速度方面,这取决于具体情况。如果您熟悉WinForms开发并且正在开发简单的界面应用程序,则可能会比使用WPF更快速地完成任务。然而,在设计和实现复杂的用户界面时,WPF可......
  • Wpf基础入门——容器Panel篇
    WPF布局基础WPF的布局原则一个窗口中只能包含一个元素不应显示设置元素尺寸不应使用坐标设置元素的位置可以嵌套布局容器WPF有哪些布局容器?Grid:网格。可以自定义行和列并通过行列的数量、行高和列宽来调整控件的布局。近似于HTML中的Table。StackPanel:栈式面板。可将......