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
![](/images/zang.png)
![](/images/jiucuo.png)
猜你喜欢
Spring注解@Configuration与@Bean注册组件的使用详解
2022-09-13 01:52:56
![](https://img.aspxhome.com/file/2023/2/64532_0s.png)
Java求一个分数数列的前20项之和的实现代码
2021-08-22 14:59:58
处理java异步事件的阻塞和非阻塞方法分析
2023-04-16 05:06:01
![](https://img.aspxhome.com/file/2023/1/72341_0s.png)
使用C语言编写基于TCP协议的Socket通讯程序实例分享
2023-07-05 03:30:03
使用java实现猜拳小游戏
2023-11-25 17:30:16
![](https://img.aspxhome.com/file/2023/4/79224_0s.jpg)
Spring Boot 整合持久层之Spring Data JPA
2022-07-29 04:00:38
![](https://img.aspxhome.com/file/2023/9/62689_0s.png)
Java实战之在线寄查快递系统的实现
2023-08-10 21:52:23
![](https://img.aspxhome.com/file/2023/2/58182_0s.png)
Flutter Widgets MediaQuery控件屏幕信息适配
2023-06-29 04:48:21
![](https://img.aspxhome.com/file/2023/2/120092_0s.jpg)
C#中using指令的几种用法
2022-01-25 01:35:25
Java编程之文件读写实例详解
2022-01-27 11:13:40
Java Swing组件布局管理器之FlowLayout(流式布局)入门教程
2021-11-08 05:33:06
![](https://img.aspxhome.com/file/2023/1/61581_0s.gif)
在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
![](https://img.aspxhome.com/file/2023/7/58457_0s.png)
Java中notify和notifyAll的区别及何时使用
2022-07-03 02:08:43