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

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

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

标签:C#,WPF,数据,绑定,菜单,插入,Seperator
0
投稿

猜你喜欢

  • Spring注解@Configuration与@Bean注册组件的使用详解

    2022-09-13 01:52:56
  • Java求一个分数数列的前20项之和的实现代码

    2021-08-22 14:59:58
  • 处理java异步事件的阻塞和非阻塞方法分析

    2023-04-16 05:06:01
  • 使用C语言编写基于TCP协议的Socket通讯程序实例分享

    2023-07-05 03:30:03
  • 使用java实现猜拳小游戏

    2023-11-25 17:30:16
  • Spring Boot 整合持久层之Spring Data JPA

    2022-07-29 04:00:38
  • Java实战之在线寄查快递系统的实现

    2023-08-10 21:52:23
  • Flutter Widgets MediaQuery控件屏幕信息适配

    2023-06-29 04:48:21
  • C#中using指令的几种用法

    2022-01-25 01:35:25
  • Java编程之文件读写实例详解

    2022-01-27 11:13:40
  • Java Swing组件布局管理器之FlowLayout(流式布局)入门教程

    2021-11-08 05:33:06
  • 在Mybatis中使用自定义缓存ehcache的方法

    2022-02-24 17:27:35
  • 常用的Java数据结构知识点汇总

    2022-09-09 02:26:02
  • Java EE项目中的异常处理总结(一篇不得不看的文章)

    2023-06-16 23:35:26
  • JAVA读取文件夹大小的几种方法实例

    2021-05-24 21:01:53
  • C#实现字符串进制转换方法汇总

    2022-01-03 09:30:37
  • spring boot 常见http请求url参数获取方法

    2023-01-26 13:59:43
  • C#串口通信实现方法

    2023-04-15 06:31:11
  • Java ShutdownHook原理详解

    2023-11-10 21:30:36
  • Java中notify和notifyAll的区别及何时使用

    2022-07-03 02:08:43
  • asp之家 软件编程 m.aspxhome.com