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-03
Quartz.Net任務(wù)和觸發(fā)器實(shí)現(xiàn)方法詳解
這篇文章主要介紹了Quartz.Net任務(wù)和觸發(fā)器實(shí)現(xiàn)方法詳解,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下2020-12-12
C#實(shí)現(xiàn)打開(kāi)指定目錄和指定文件的示例代碼
這篇文章主要為大家詳細(xì)介紹了如何利用C#實(shí)現(xiàn)打開(kāi)指定目錄、打開(kāi)指定目錄且選中指定文件、打開(kāi)指定文件,感興趣的小伙伴可以嘗試一下2022-06-06
輕松學(xué)習(xí)C#的預(yù)定義數(shù)據(jù)類型
輕松學(xué)習(xí)C#的預(yù)定義數(shù)據(jù)類型,C#的預(yù)定義數(shù)據(jù)類型包括兩種,一種是值類型,一種是引用類型,需要的朋友可以參考下2015-11-11
C# / 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

