C#對WPF數(shù)據(jù)綁定的菜單插入Seperator分隔
WPF前臺代碼展示
<Window.Resources> <local:Source x:Key="src"/> </Window.Resources> <StackPanel> <Menu> <MenuItem Header="Animals" ItemsSource="{Binding Source={StaticResource src}}" /> </Menu> </StackPanel>
C#對WPF數(shù)據(jù)綁定
public class Source : ObservableCollection<object> { public Source() { //Spiders Add("Golden Silk Spider"); Add("Black Widow Spider"); //BigCats Add("Jaguar"); Add("African Wildcat"); Add("Cheetah"); //Amphibians Add("California Newt"); Add("Tomato Frog"); Add("Green Tree Frog"); } }
這種方式簡單易用,但有個問題,缺乏靈活性:比如說如果我們要根據(jù)不同的類別分組,通過seperator隔離,生成如下圖所示的菜單,這時該如何做呢?
我試過幾種方法,如設置ItemStyleSelecter,DataTemplate等,效果都不是很好,最后找到一種很簡單的方法:在數(shù)據(jù)源中直接插入Seperator即可。
public class Source : ObservableCollection<object> { public Source() { Add("Golden Silk Spider"); Add("Black Widow Spider"); Add(new Separator()); Add("Jaguar"); Add("African Wildcat"); Add("Cheetah"); Add(new Separator()); Add("California Newt"); Add("Tomato Frog"); Add("Green Tree Frog"); } }
這種方式簡單易用,并且能保持和系統(tǒng)主題樣式一致,是目前我知道的最好的方法了。ToobBar的Seperator也可以用這種方式生成。
到此這篇關于WPF菜單插入Seperator的文章就介紹到這了。希望對大家的學習有所幫助,也希望大家多多支持腳本之家。
相關文章
CPF?使用C#的Native?AOT?發(fā)布程序的詳細過程
這篇文章主要介紹了CPF?使用C#的Native?AOT?發(fā)布程序,本文給大家介紹的非常詳細,對大家的學習或工作具體一定的參考借鑒價值,需要的朋友可以參考下2022-03-03Quartz.Net任務和觸發(fā)器實現(xiàn)方法詳解
這篇文章主要介紹了Quartz.Net任務和觸發(fā)器實現(xiàn)方法詳解,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友可以參考下2020-12-12C# / VB.NET 在PPT中創(chuàng)建、編輯PPT SmartArt圖形的方法詳解
本文介紹通過C#和VB.NET程序代碼來創(chuàng)建和編輯PPT文檔中的SmartArt圖形。文中將分兩個操作示例來演示創(chuàng)建和編輯結果,需要的朋友可以參考下2020-10-10