WPF多個頁面繫結同一個全域性變數
阿新 • • 發佈:2020-10-26
外掛中繫結主程式的資料,首先在外掛中新建一個全域性變數
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}"/>