Avalonia跨平台入门第十四篇之ListBox折叠列表
在前面分享的幾篇中咱已經(jīng)玩耍了Popup、ListBox多選、Grid動(dòng)態(tài)分、RadioButton模板、控件的拖放效果、控件的置頂和置底、控件的鎖定、自定義Window樣式、動(dòng)畫(huà)效果、Expander控件;今天趁著空閑時(shí)間接著去摸索基于ListBox的折疊列表的效果,最終實(shí)現(xiàn)的效果如下圖:
先來(lái)看看布局吧:
前臺(tái)的布局代碼:
外面ListBox的子項(xiàng)模板:
里面的ListBox的子項(xiàng)模板:
<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>最終簡(jiǎn)單的效果先這樣吧;回頭可以基于玩耍一下聯(lián)系人的效果;以后有時(shí)間的話,可以再去摸索一下更復(fù)雜的效果;編程不息、Bug不止、無(wú)Bug、無(wú)生活;改bug的冷靜、編碼的激情、完成后的喜悅、挖坑的激動(dòng) 、填坑的興奮;這也許就是屌絲程序員的樂(lè)趣吧;今天就到這里吧;希望自己有動(dòng)力一步一步堅(jiān)持下去;生命不息,代碼不止;大家抽空可以看看今天分享的效果,有好的意見(jiàn)和想法,可以在留言板隨意留言;我看到后會(huì)第一時(shí)間回復(fù)大家,多謝大家的一直默默的關(guān)注和支持!如果覺(jué)得不錯(cuò),那就伸出您的小手點(diǎn)個(gè)贊并關(guān)注一下,多謝您的支持!
總結(jié)
以上是生活随笔為你收集整理的Avalonia跨平台入门第十四篇之ListBox折叠列表的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: .NET6之MiniAPI(二十一):限
- 下一篇: Avalonia跨平台入门第十五篇之Li