软件编程
位置:首页>> 软件编程>> C#编程>> C#对WPF数据绑定的菜单插入Seperator分隔

C#对WPF数据绑定的菜单插入Seperator分隔

作者:天方  发布时间:2022-04-29 17:09:28 

标签:C#,WPF,数据,绑定,菜单,插入,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数据绑定

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

0
投稿

猜你喜欢

手机版 软件编程 asp之家 www.aspxhome.com