插件中绑定主程序的数据,首先在插件中新建一个全局变量
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}"/>