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)文章
C# winform 模擬鍵盤輸入自動(dòng)接入訪問(wèn)網(wǎng)絡(luò)的實(shí)例
本篇文章主要介紹了C# winform 模擬鍵盤輸入自動(dòng)接入訪問(wèn)網(wǎng)絡(luò),有興趣的可以了解一下。2016-11-11
C#操作mysql數(shù)據(jù)庫(kù)的代碼實(shí)例
這篇文章為大家提供了一個(gè)C#操作mysql數(shù)據(jù)庫(kù)的實(shí)例,大家可以參考使用2013-11-11
C#遞歸方法實(shí)現(xiàn)無(wú)限級(jí)分類顯示效果實(shí)例
這篇文章主要介紹了C#遞歸方法實(shí)現(xiàn)無(wú)限級(jí)分類顯示效果,結(jié)合完整實(shí)例形式分析了C#遞歸算法與數(shù)據(jù)元素遍歷的相關(guān)技巧,具有一定參考借鑒價(jià)值,需要的朋友可以參考下2016-06-06
C#與C++?dll之間傳遞字符串string?wchar_t*?char*?IntPtr問(wèn)題
C#與C++?dll之間傳遞字符串string?wchar_t*?char*?IntPtr問(wèn)題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2022-11-11

