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