首页 > 其他分享 >wpf combobox绑定到enum

wpf combobox绑定到enum

时间:2024-11-11 17:07:36浏览次数:4  
标签:Description combobox enum list RULE rule wpf desc

搜索到这个网页

在其中发现了这个方法,

比较简单:

public enum RULE
    {
        [Description( "Любые, без ограничений" )]
        any,
        [Description( "Любые если будет три в ряд" )]
        anyThree,
        [Description( "Соседние, без ограничений" )]
        nearAny,
        [Description( "Соседние если будет три в ряд" )]
        nearThree
    }

    class ExtendRULE
    {
        public static object Values
        {
            get
            {
                List<object> list = new List<object>();
                foreach( RULE rule in Enum.GetValues( typeof( RULE ) ) )
                {
                    string desc = rule.GetType().GetMember( rule.ToString() )[0].GetCustomAttribute<DescriptionAttribute>().Description;
                    list.Add( new { value = rule, desc = desc } );
                }
                return list;
            }
        }
    }
<StackPanel>
   <ListBox ItemsSource= "{Binding Source={x:Static model:ExtendRULE.Values}}" DisplayMemberPath="desc" SelectedValuePath="value" SelectedValue="{Binding SelectedRule}"/>
   <ComboBox ItemsSource="{Binding Source={x:Static model:ExtendRULE.Values}}" DisplayMemberPath="desc" SelectedValuePath="value" SelectedValue="{Binding SelectedRule}"/>                        
</StackPanel>

照猫画虎,

实现了自己的需求。

 

标签:Description,combobox,enum,list,RULE,rule,wpf,desc
From: https://www.cnblogs.com/myzw/p/18540129

相关文章

  • wpf项目使用winform控件
    环境:Win10、VS2017一、新建WPF项目  2.WPF项目添加System.Windows.Forms和WindowsFormsIntegration引用  3. 编写WPF窗体代码3.1.头部添加引用1xmlns:wf="clr-namespace:System.Windows.Forms;assembly=System.Windows.Forms"2xmlns:wfi="clr-namespace:S......
  • wpf中取消按钮的默认样式
    <Stylex:Key="TransparentButton"TargetType="Button"><SetterProperty="Background"Value="Transparent"/><SetterProperty="BorderThickness"Value="0"/><SetterP......
  • WPF在MVVM模式下怎么实现导航功能
    在mvvm的模式下wpf通过frame实现页面跳转_哔哩哔哩_bilibili视频讲解同步可观看如下图,我们要实现点击左侧的菜单,在右侧展示不同的页面实现代码如下:一、如何从主窗体跳转到页面。1、在mainwindow.xaml的菜单栏代码里加入如下代码​ <BorderBorderBrush="#3c5254"Bord......
  • C++ 中的enum 和 enum class
    在C++中,enum 和 enumclass 都用于定义枚举类型,但它们在使用时有一些关键区别。主要区别在于作用域和类型安全性:1. 作用域:enumclass 是强作用域的,而 enum 是弱作用域的。enumclass(强作用域枚举):枚举值需要使用枚举类型的名称进行限定。例如:enumclassColor{......
  • WPF 集合操作进阶:提取特定字段、转换 ObservableCollection 和过滤数据
    文章目录1.引言2.从List<T>提取特定字段3.将List<T>转换为observableCollection<T>4.过滤List<T>集合5.总结6.完整示例代码1.引言在C#开发中,集合操作是非常常见的任务,特别是在数据处理和用户界面设计中。本文将介绍如何从List<T>中提取......
  • WPF+MVVM案例实战与特效(二十六)- 3D粒子方块波浪墙效果实现
    文章目录1、案例效果2、案例实现1、文件创建2.功能代码实现3、粒子功能应用1、前端布局与样式2、代码解释2、后端功能代码1、案例效果2、案例实现1、文件创建打开Wpf_Examples项目、Models文件夹下创建3D粒子模型类ParticleCubeWaveMode......
  • WPF MVVM入门系列教程(四、数据绑定演示)
    在前面的文章中,介绍了数据绑定功能及使用方法。本文会使用一些数据绑定的实例来进行演示。演示过程中,涉及了数据模板功能,如果对数据模板功能还不熟悉,可以参考下面的链接:https://learn.microsoft.com/zh-cn/dotnet/desktop/wpf/data/data-templating-overview?view=netframeworkd......
  • WPF 抖动动画
    .NETWPF抖动动画1Demo2Code<!--水平抖动--><ButtonContent="HelloWorld"><Button.RenderTransform><TranslateTransformx:Name="translateTransform"/></Button.RenderTransform><Butto......
  • WPF StatusBar控件 这一块也能放一些东西
    WPFStatusBar控件这一块也能放一些东西  StatusBar控件一般在窗口的底部。用于显示有关应用程序当前状态的各种信息,如光标位置、字数、任务进度等。<Windowx:Class="WpfApp14.MainWindow"xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"......
  • WPF 中 NavigationWindow 与 Page 的继承关系解析
    官网解析:NavigationWindow类   |    Page类publicclassBaseWindow:NavigationWindow{}publicpartialclassCountPage:Page{}都是创建的WPF界面有什么区别?在WPF(WindowsPresentationFoundation)开发中,我们经常需要设计具有多个页面的应用程序。在......