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