日本免费高清视频-国产福利视频导航-黄色在线播放国产-天天操天天操天天操天天操|www.shdianci.com

學無先后,達者為師

網站首頁 編程語言 正文

C#對WPF數據綁定的菜單插入Seperator分隔_C#教程

作者:天方 ? 更新時間: 2022-08-10 編程語言

WPF前臺代碼展示

<Window.Resources>
    <local:Source x:Key="src"/>
</Window.Resources>
<StackPanel>
    <Menu>
        <MenuItem Header="Animals" ItemsSource="{Binding Source={StaticResource src}}" />
    </Menu>
</StackPanel>

C#對WPF數據綁定

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");
    }
}

這種方式簡單易用,但有個問題,缺乏靈活性:比如說如果我們要根據不同的類別分組,通過seperator隔離,生成如下圖所示的菜單,這時該如何做呢?

我試過幾種方法,如設置ItemStyleSelecter,DataTemplate等,效果都不是很好,最后找到一種很簡單的方法:在數據源中直接插入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");
    }
}

這種方式簡單易用,并且能保持和系統主題樣式一致,是目前我知道的最好的方法了。ToobBar的Seperator也可以用這種方式生成。

原文鏈接:https://www.cnblogs.com/TianFang/archive/2009/07/06/1517390.html

欄目分類
最近更新