C#對(duì)WPF數(shù)據(jù)綁定的菜單插入Seperator分隔
WPF前臺(tái)代碼展示
<Window.Resources> <local:Source x:Key="src"/> </Window.Resources> <StackPanel> <Menu> <MenuItem Header="Animals" ItemsSource="{Binding Source={StaticResource src}}" /> </Menu> </StackPanel>
C#對(duì)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"); } }
這種方式簡(jiǎn)單易用,但有個(gè)問(wèn)題,缺乏靈活性:比如說(shuō)如果我們要根據(jù)不同的類別分組,通過(guò)seperator隔離,生成如下圖所示的菜單,這時(shí)該如何做呢?
我試過(guò)幾種方法,如設(shè)置ItemStyleSelecter,DataTemplate等,效果都不是很好,最后找到一種很簡(jiǎn)單的方法:在數(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"); } }
這種方式簡(jiǎn)單易用,并且能保持和系統(tǒng)主題樣式一致,是目前我知道的最好的方法了。ToobBar的Seperator也可以用這種方式生成。
到此這篇關(guān)于WPF菜單插入Seperator的文章就介紹到這了。希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。
相關(guān)文章
CPF?使用C#的Native?AOT?發(fā)布程序的詳細(xì)過(guò)程
這篇文章主要介紹了CPF?使用C#的Native?AOT?發(fā)布程序,本文給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具體一定的參考借鑒價(jià)值,需要的朋友可以參考下2022-03-03Quartz.Net任務(wù)和觸發(fā)器實(shí)現(xiàn)方法詳解
這篇文章主要介紹了Quartz.Net任務(wù)和觸發(fā)器實(shí)現(xiàn)方法詳解,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下2020-12-12C#實(shí)現(xiàn)打開指定目錄和指定文件的示例代碼
這篇文章主要為大家詳細(xì)介紹了如何利用C#實(shí)現(xiàn)打開指定目錄、打開指定目錄且選中指定文件、打開指定文件,感興趣的小伙伴可以嘗試一下2022-06-06輕松學(xué)習(xí)C#的預(yù)定義數(shù)據(jù)類型
輕松學(xué)習(xí)C#的預(yù)定義數(shù)據(jù)類型,C#的預(yù)定義數(shù)據(jù)類型包括兩種,一種是值類型,一種是引用類型,需要的朋友可以參考下2015-11-11C# / VB.NET 在PPT中創(chuàng)建、編輯PPT SmartArt圖形的方法詳解
本文介紹通過(guò)C#和VB.NET程序代碼來(lái)創(chuàng)建和編輯PPT文檔中的SmartArt圖形。文中將分兩個(gè)操作示例來(lái)演示創(chuàng)建和編輯結(jié)果,需要的朋友可以參考下2020-10-10