Xamarin效果第十二篇之控制祖传PLC
生活随笔
收集整理的這篇文章主要介紹了
Xamarin效果第十二篇之控制祖传PLC
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
在前面使用DllImport去調用了公司祖傳的PLC;坑也被坑了一下,但是總感覺還是基于祖傳的Dll木有一點意思;畢竟就是一個數據的監控和開關量的控制;要是直接能用我的屌絲機控制一下就可以好好開(Z)心(B);畢竟前面咱也是玩過一點點Xamarin的,那就再次拾起來去玩耍一下吧;來看看最終咱實現的視頻效果:
1、在CollectionView中通過綁定后臺集合實現了單通道控制
<CollectionView?ItemsSource="{Binding?CurrentDataContext}"/>2、CollectionView的ItemTemplate
<CollectionView.ItemTemplate><DataTemplate><StackLayout Orientation="Horizontal"><Label Text="{Binding ChannelID,StringFormat='D0-{0}'}" VerticalTextAlignment="Center" WidthRequest="45"/><Ellipse WidthRequest="20" HeightRequest="20" VerticalOptions="Center"Fill="{Binding OpenStatus,Converter={StaticResource OpenStatusToColorConverter}}"/><Switch OnColor="Gray" ThumbColor="White" HorizontalOptions="EndAndExpand"><Switch.GestureRecognizers><TapGestureRecognizer Command="{Binding Source={RelativeSource AncestorType={x:Type vm:MainViewModel}},Path=SwitchChannelStatusCmd}"CommandParameter="{Binding .}"/></Switch.GestureRecognizers></Switch></StackLayout></DataTemplate> </CollectionView.ItemTemplate>3、結果在ItemTemplate中的Switch通過GestureRecognizers綁定后后臺Command不起作用,最后通過命令實現
<Switch.Behaviors><behaviorsPack:EventToCommandBehavior?EventName="Toggled"Command="{Binding?Path=BindingContext.SwitchChannelStatusCmd,Source={x:Reference?Name=MyMainPage}}"?CommandParameter="{Binding}"/> </Switch.Behaviors>4、對于祖傳的dll沒有文檔,只能用最笨的方式去抓包然后記錄,歸納總結:
message = $ ":0010003{nID}00010002B{end}\r\n";5、然后最簡單UDP客戶端
最終簡單的效果先這樣吧;以后有時間的話,可以再去摸索一下更復雜的效果;編程不息、Bug不止、無Bug、無生活;改bug的冷靜、編碼的激情、完成后的喜悅、挖坑的激動 、填坑的興奮;這也許就是屌絲程序員的樂趣吧;今天就到這里吧;希望自己有動力一步一步堅持下去;生命不息,代碼不止;大家抽空可以看看今天分享的效果,有好的意見和想法,可以在留言板隨意留言;我看到后會第一時間回復大家,多謝大家的一直默默的關注和支持!如果覺得不錯,那就伸出您的小手點個贊并關注一下,多謝您的支持!
總結
以上是生活随笔為你收集整理的Xamarin效果第十二篇之控制祖传PLC的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 芒果TV会员,月卡最低9.9元,年卡最低
- 下一篇: Blazor University (5