互助网站建设,网站关键词代码,网页打不开怎么设置,电信宽带多少钱在前面使用DllImport去调用了公司祖传的PLC;坑也被坑了一下,但是总感觉还是基于祖传的Dll木有一点意思;毕竟就是一个数据的监控和开关量的控制;要是直接能用我的屌丝机控制一下就可以好好开(Z)心(B);毕竟前面咱也是玩过一点点Xamarin的,那就再次拾起来去玩耍一下吧;来看看最终咱… 在前面使用DllImport去调用了公司祖传的PLC;坑也被坑了一下,但是总感觉还是基于祖传的Dll木有一点意思;毕竟就是一个数据的监控和开关量的控制;要是直接能用我的屌丝机控制一下就可以好好开(Z)心(B);毕竟前面咱也是玩过一点点Xamarin的,那就再次拾起来去玩耍一下吧;来看看最终咱实现的视频效果:1、在CollectionView中通过绑定后台集合实现了单通道控制CollectionView ItemsSource{Binding CurrentDataContext}/2、CollectionView的ItemTemplateCollectionView.ItemTemplateDataTemplateStackLayout OrientationHorizontalLabel Text{Binding ChannelID,StringFormatD0-{0}} VerticalTextAlignmentCenter WidthRequest45/Ellipse WidthRequest20 HeightRequest20 VerticalOptionsCenterFill{Binding OpenStatus,Converter{StaticResource OpenStatusToColorConverter}}/Switch OnColorGray ThumbColorWhite HorizontalOptionsEndAndExpandSwitch.GestureRecognizersTapGestureRecognizer Command{Binding Source{RelativeSource AncestorType{x:Type vm:MainViewModel}},PathSwitchChannelStatusCmd}CommandParameter{Binding .}//Switch.GestureRecognizers/Switch/StackLayout/DataTemplate
/CollectionView.ItemTemplate3、结果在ItemTemplate中的Switch通过GestureRecognizers绑定后后台Command不起作用,最后通过命令实现Switch.BehaviorsbehaviorsPack:EventToCommandBehavior EventNameToggledCommand{Binding PathBindingContext.SwitchChannelStatusCmd,Source{x:Reference NameMyMainPage}} CommandParameter{Binding}/
/Switch.Behaviors4、对于祖传的dll没有文档,只能用最笨的方式去抓包然后记录,归纳总结:message $ :0010003{nID}00010002B{end}\r\n;5、然后最简单UDP客户端IPAddress iPAddress IPAddress.Parse( ip );
IPEndPoint iPEndPoint new IPEndPoint( iPAddress, port );
UdpClient udpClient new UdpClient();
udpClient.Connect( iPEndPoint );
byte[] sendData Encoding.ASCII.GetBytes( message );
最终简单的效果先这样吧;以后有时间的话,可以再去摸索一下更复杂的效果;编程不息、Bug不止、无Bug、无生活;改bug的冷静、编码的激情、完成后的喜悦、挖坑的激动 、填坑的兴奋;这也许就是屌丝程序员的乐趣吧;今天就到这里吧;希望自己有动力一步一步坚持下去;生命不息,代码不止;大家抽空可以看看今天分享的效果,有好的意见和想法,可以在留言板随意留言;我看到后会第一时间回复大家,多谢大家的一直默默的关注和支持!如果觉得不错,那就伸出您的小手点个赞并关注一下,多谢您的支持