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也可以用這種方式生成。
到此這篇關(guān)于WPF菜單插入Seperator的文章就介紹到這了。希望對大家的學習有所幫助,也希望大家多多支持腳本之家。
相關(guān)文章
C# winform 模擬鍵盤輸入自動接入訪問網(wǎng)絡的實例
本篇文章主要介紹了C# winform 模擬鍵盤輸入自動接入訪問網(wǎng)絡,有興趣的可以了解一下。2016-11-11
C#與C++?dll之間傳遞字符串string?wchar_t*?char*?IntPtr問題
C#與C++?dll之間傳遞字符串string?wchar_t*?char*?IntPtr問題,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教2022-11-11

