Avalonia跨平台入门第十四篇之ListBox折叠列表
生活随笔
收集整理的這篇文章主要介紹了
Avalonia跨平台入门第十四篇之ListBox折叠列表
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
在前面分享的幾篇中咱已經玩耍了Popup、ListBox多選、Grid動態分、RadioButton模板、控件的拖放效果、控件的置頂和置底、控件的鎖定、自定義Window樣式、動畫效果、Expander控件;今天趁著空閑時間接著去摸索基于ListBox的折疊列表的效果,最終實現的效果如下圖:
先來看看布局吧:
前臺的布局代碼:
外面ListBox的子項模板:
里面的ListBox的子項模板:
<DataTemplate x:Key="LisBoxItemTemplate"><Grid Width="{Binding $parent[ListBox].Width}"><WrapPanel Orientation="Horizontal" Margin="30,0,0,0" VerticalAlignment="Center"><Image Source="{Binding ManagerType,Converter={StaticResource ManagerTypeEnumToImageConverter}}" Height="20" Stretch="Uniform"/><TextBlock Margin="10,0,0,0" HorizontalAlignment="Center" Text="{Binding Path=Name,StringFormat={}我是{0}}" Foreground="White"/></WrapPanel><Button Classes="RemoveItemButton" Tag="{Binding}" IsVisible="{Binding $parent[ListBoxItem].IsSelected}" CommandParameter="{Binding .}"Command="{Binding DataContext.RemoveItemCommand,RelativeSource={RelativeSource AncestorType={x:Type ListBox} AncestorLevel=2}}"/></Grid> </DataTemplate>最終簡單的效果先這樣吧;回頭可以基于玩耍一下聯系人的效果;以后有時間的話,可以再去摸索一下更復雜的效果;編程不息、Bug不止、無Bug、無生活;改bug的冷靜、編碼的激情、完成后的喜悅、挖坑的激動 、填坑的興奮;這也許就是屌絲程序員的樂趣吧;今天就到這里吧;希望自己有動力一步一步堅持下去;生命不息,代碼不止;大家抽空可以看看今天分享的效果,有好的意見和想法,可以在留言板隨意留言;我看到后會第一時間回復大家,多謝大家的一直默默的關注和支持!如果覺得不錯,那就伸出您的小手點個贊并關注一下,多謝您的支持!
總結
以上是生活随笔為你收集整理的Avalonia跨平台入门第十四篇之ListBox折叠列表的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: .NET6之MiniAPI(二十一):限
- 下一篇: .NET Core程序瘦身器发布,压缩程