WPF多个页面绑定同一个全局变量


插件中绑定主程序的数据,首先在插件中新建一个全局变量

public class MeteringData
    {
        //private MeteringDeviceInfo meteringDeviceInfo = new MeteringDeviceInfo();
        /// <summary>
        /// 全局计量数据
        /// </summary>
        public static MeteringDeviceInfo GlobalMeteringDevice;
        //{
        //    get { return meteringDeviceInfo; }
        //    set
        //    {
        //        meteringDeviceInfo = value;
        //    }
        //}
    }

  然后在插件入口界面的后台初始化该全局变量,排除空引用的bug

public UserControl1()
        {
            InitializeComponent();
            if (MeteringData.GlobalMeteringDevice == null)
            {
                MeteringData.GlobalMeteringDevice = new MeteringDeviceInfo();
                MeteringData.GlobalMeteringDevice.ProjectGuid = CommUtil.project.GUID;
            }
        }

然后就可以在后台代码和界面中使用了

MeteringData.GlobalMeteringDevice.ProjectGuid = CommUtil.project.GUID;
MeteringData.GlobalMeteringDevice.MeteringModel = CommUtil.project.ProjectModel;
MeteringData.GlobalMeteringDevice.ConnTel = "18500000000";

在界面中绑定的时候首先得添加引用,第一个是主程序的数据结构类,第二个是全局变量类

xmlns:gtp="clr-namespace:GTP.Model.Projectinfo;assembly=GTP.Model"
xmlns:dataSour="clr-namespace:GeneriteMetering"

然后就可以直接在界面中绑定了

<TextBox x:Name="connTel" Grid.Row="1" Grid.Column="1" VerticalAlignment="Center" Text="{Binding ConnTel,Source={x:Static dataSour:MeteringData.GlobalMeteringDevice},Mode=TwoWay}"/>


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM