插件中綁定主程序的數據,首先在插件中新建一個全局變量
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}"/>