星空客户端自定义控件开发入门(仅支持到WPF的GUI客户端)

【应用场景】
1、应用背景:在企业应用中广泛存在一些接入设备,如电子行业的激光扫描设备,IC卡刷卡设备,医疗行业的电子秤,射频读卡器,影像设备等。接口类型没有同一标准,有的采用RS232,RS485,USB等,有的采用FTP文件服务器,有的采用Smart Card接口组件,驱动设备也各行其是。K/3 Cloud作为一个通用平台,不能包罗所有的第三方接入驱动。因此,我们开放一个桌面端的接口模型,实现这些设备的二次开发接入。
2、开发技术要求:基于DotNet FrameWork 4.0的WPF编程技术,基于C#编程语言,有C/S编程基础概念,有VistualStudio工具使用经验。
自定义组件开发
1、在Visual Studio 2012中新增类库工程;如果需要新增有WPF界面元素的,必须新建WPF类库类型的工程。(注意,如果使用的控件是32位平台的,那么客制化组件工程文件指定目标平台为x86)

(vs2012新建工程界面选择红框中的项目类型)

(vs2012新建工程界面选择红框中的项目类型)
2、引用客户端安装目录下【Kingdee\K3Cloud\DeskClient\K3CloudClient\controlplugins】基础组件;
3、新建类,编写自定义控件桌面客户端代码如下:
public partial class UserControl1 : UserControl, IKDCustomControl, IDynamicFormSupported
{
public UserControl1()
{
InitializeComponent();
}
public IKDCustomControlProxy Proxy { get; set ; }
public IKDDynamicFormProxy FormProxy { get; set; }
///初始化逻辑代码写在这里
public void InitComponent()
{
}
///些方法提供给服务端插件调用
public void SelectItem(string index)
{
int selectIn;
bool result = int.TryParse(index, out selectIn);
if (result)
{
ComSelect.SelectedIndex = selectIn;
}
}
///这里进行资源释放
public void Release()
{
}
///自定义控件调用FireCustomEvent方法将数据发发送到后台服务,服务端插件重写CustomEvent方法并获取数据
private void Button_Click(object sender, RoutedEventArgs e)
{
this.Proxy.FireCustomEvent(new CustomEventArgs("", "Success", "{message:'WriteString() Success!'}"));
}
}
这个类对应xaml文件代码:
<UserControl x:Class="WpfCustomControlLibrary1.UserControl1"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
xmlns:local="clr-namespace:WpfCustomControlLibrary1"
mc:Ignorable="d"
d:DesignHeight="450" d:DesignWidth="800">
<Grid>
<StackPanel VerticalAlignment="Center" HorizontalAlignment="Center" Orientation="Horizontal">
<ComboBox x:Name="ComSelect" VerticalAlignment="Center" HorizontalAlignment="Center" Width="200">
<ComboBoxItem>COM1</ComboBoxItem>
<ComboBoxItem>COM2</ComboBoxItem>
<ComboBoxItem>COM3</ComboBoxItem>
<ComboBoxItem>COM4</ComboBoxItem>
</ComboBox>
<Button Content="SendData" Height="40" Width="80" Margin="20 0 0 0" Click=
星空客户端自定义控件开发入门(仅支持到WPF的GUI客户端)
声明:除非特别标注,否则均为本站原创文章,转载时请以链接形式注明文章出处。如若本站内容侵犯了原著者的合法权益,可联系本站删除。



