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

 更新时间:2022年06月16日 17:19:27   作者:天方  
这篇文章介绍了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也可以用这种方式生成。

到此这篇关于WPF菜单插入Seperator的文章就介绍到这了。希望对大家的学习有所帮助,也希望大家多多支持脚本之家。

相关文章

  • C#中List<T>存放元素的工作机制

    C#中List<T>存放元素的工作机制

    这篇文章介绍了C#中List<T>存放元素的工作机制,文中通过示例代码介绍的非常详细。对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2022-08-08
  • CPF 使用C#的Native AOT 发布程序的详细过程

    CPF 使用C#的Native AOT 发布程序的详细过程

    这篇文章主要介绍了CPF 使用C#的Native AOT 发布程序,本文给大家介绍的非常详细,对大家的学习或工作具体一定的参考借鉴价值,需要的朋友可以参考下
    2022-03-03
  • C# 遍历datatable字段名和value的案例

    C# 遍历datatable字段名和value的案例

    这篇文章主要介绍了C# 遍历datatable字段名和value的案例,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2021-01-01
  • C#数据库操作小结

    C#数据库操作小结

    每次做项目都会用到数据库,对数据库的操作都是糊里糊涂从书里找代码用。通过昨天晚上与今天早上的努力,把数据库的操作整理了一下,下面把整理结果做个小结
    2012-09-09
  • C#操作XML文件步骤

    C#操作XML文件步骤

    在本篇文章里小编给大家分享了关于C#操作XML文件步骤教学内容,有兴趣的朋友们可以学习下。
    2019-01-01
  • Quartz.Net任务和触发器实现方法详解

    Quartz.Net任务和触发器实现方法详解

    这篇文章主要介绍了Quartz.Net任务和触发器实现方法详解,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
    2020-12-12
  • C#实现打开指定目录和指定文件的示例代码

    C#实现打开指定目录和指定文件的示例代码

    这篇文章主要为大家详细介绍了如何利用C#实现打开指定目录、打开指定目录且选中指定文件、打开指定文件,感兴趣的小伙伴可以尝试一下
    2022-06-06
  • 轻松学习C#的预定义数据类型

    轻松学习C#的预定义数据类型

    轻松学习C#的预定义数据类型,C#的预定义数据类型包括两种,一种是值类型,一种是引用类型,需要的朋友可以参考下
    2015-11-11
  • C# / VB.NET 在PPT中创建、编辑PPT SmartArt图形的方法详解

    C# / VB.NET 在PPT中创建、编辑PPT SmartArt图形的方法详解

    本文介绍通过C#和VB.NET程序代码来创建和编辑PPT文档中的SmartArt图形。文中将分两个操作示例来演示创建和编辑结果,需要的朋友可以参考下
    2020-10-10
  • ref与out之间的区别深入解析

    ref与out之间的区别深入解析

    以下是对c#中ref与out之间的区别进行了详细分析介绍,需要的朋友可以过来参考下
    2013-09-09

最新评论