整理:WPF中Xaml中绑定枚举的写法
目的:在Combobox、ListBox中直接绑定枚举对象的方式,比如:直接绑定字体类型、所有颜色等枚举类型非常方便
一、首先用ObjectDataProvider定义资源
-
<UserControl.Resources>
-
<ObjectDataProvider x:Key="LeftRightAlignment" MethodName="GetValues" ObjectType="{x:Type sys:Enum}">
-
<ObjectDataProvider.MethodParameters>
-
<x:Type TypeName="com:LeftRightAlignment"/>
-
</ObjectDataProvider.MethodParameters>
-
</ObjectDataProvider>
-
<ObjectDataProvider x:Key="MenuButtonStyle" MethodName="GetValues" ObjectType="{x:Type sys:Enum}">
-
<ObjectDataProvider.MethodParameters>
-
<x:Type TypeName="com:MenuButtonStyle"/>
-
</ObjectDataProvider.MethodParameters>
-
</ObjectDataProvider>
-
</UserControl.Resources>
1、ObjectType设置类型为枚举,GetValues是枚举的静态方法
public static Array GetValues(Type enumType);
2、TypeName:要绑定的特定枚举类型名称
二、用ItemSource绑定静态资源
<ComboBox ItemsSource="{Binding Source={StaticResource LeftRightAlignment}}"/>
绑定好后:可以直接用SelectValue直接绑定的选择的属性上
注意:同理、应用ObjectDataPrivder可以从代码中构造更多Xaml中应用到的资源
整理:WPF中Xaml中绑定枚举的写法的更多相关文章
- 【C#】WPF的xaml中定义的Trigger为什么有时候会不管用,如Border的MouseOver之类的
原文:[C#]WPF的xaml中定义的Trigger为什么有时候会不管用,如Border的MouseOver之类的 初学WPF,知道一些控件可以通过定义Style的Trigger改变要显示的样式,但是 ...
- WPF在XAML中Binding使用StringFormat属性
1. 绑定Currency, 如果没有字符的话, =后面需要先加入{}. 不加的话会出问题. 1 <TextBlock Text="{Binding Amount, StringFor ...
- WPF中XAML中使用String.Format格式化字符串示例
货币格式 <TextBlock Text="{Binding Price, StringFormat={}{0:C}}" /> // $123.46 货币格式,一位小数 ...
- WPF的xaml中特殊字符表示
直接看表,描述很清晰 字符 转义字符 备注 & (ampersand) & 这个没什么特别的,几乎所有的地方都需要使用转义字符 > (greater-than character ...
- WPF在XAML中使用MultiBinding的两个例子
使用MultiBinding的原则:数据源有一个以上: 1. 需求:在一个需要显示的内容中,不同的部分要进行的处理不一样,这时可以使用MultiBinding <TextBlock> &l ...
- WPF界面XAML中的if……else……
xaml本身并不支持if--else--,要用Converter替代if--else--来实现我们想要的效果,知者请速离开,不要浪费时间 需求:按照Window的WindowState来决定Gri ...
- WPF在XAML中实现持续动画的暂停、恢复、停止
1.动画通过EventTrigger监听按钮的FrameworkElement.Loaded事件,但控件载入时就进行动画, 持续动画通过<BeginStoryboard Name="y ...
- WPF绑定xaml中绑定对象需用属性表示,字段不可以绑定
在练习WPF绑定时发现对象属性可以在XAML中绑定,但字段是不可以绑定: 比如: private Person person{get;set;} 可以绑定到XAML中,<TextBox Nam ...
- WPF 只读集合在 XAML 中的绑定(WPF:Binding for readonly collection in xaml)
问题背景 某一天,我想做一个签到打卡的日历.基于 Calendar,想实现这个目标,于是找到了它的 SelectedDates 属性,用于标记签到过的日期. 问题来了. 基于MVVM模式,想将其在xa ...
随机推荐
- Elasticasearch Web管理工具-Cerebro
cerebro是一个使用Scala,Play Framework,AngularJS和Bootstrap构建的开源(MIT许可)elasticsearch web管理工具.需要Java 1.8或更高版 ...
- Httpclient文件上传
public static void upload(String url,File file,String filename) { CloseableHttpClient httpclient = H ...
- ELK安装过程中一些注意的地方
安装流程比较简单,只需要下载安装包,解压安装包,修改配置文件,然后启动组件即可,但还是遇到一些小问题,这里做一下记录. 各个组件版本号需要保持一样,例如都使用7.1.1版本 es不能以root账户启用 ...
- Leetcode79 Word Search
题目描述 Given a 2D board and a word, find if the word exists in the grid. The word can be constructed f ...
- 使用istioctl命令查看gateway及virtualservices
istioctl命令,比kubectl命令,在查看istio资源方面,要方便很多. 如果使用microk8s安装,则命令为microk8s.istioctl了. 查看gateway及virtualse ...
- dedecms手机站和PC站共用同一数据库的方法
我们知道搜索引擎建议将手机站和PC站分开,虽然自适应可以适配不同的终端,但单独建独立的m站可能权重和排名更好,因为移动端的竞争度不同甚至更低.代码更精简.蜘蛛抓取更顺畅,所以要单独建手机站比较好.那么 ...
- jQuery对象和DOM对象转换,解决jQuery对象不能使用js方法的问题
有时候想要jQuery对象使用js方法,但是jQuery对象是什么js方法都不能用,怎么办呢?方法其实很简单,只要转换jQuery和DOM对象就可以了. 方法一: var $cr = $(" ...
- ORA-00923: FROM keyword not found where expected
网上搜索这类错误还是挺多的,只提供我遇到的一种情景. 本地数据库环境:Oracle10g 导入别人的项目后,有一段SQL查询总是报如下错误信息: Cause: java.sql.SQLExceptio ...
- contest3 CF994 div2 ooxxx? oooox? ooooo?
题意 div2 C (x)(o) 在一个平面上, 给一个水平的正方形和一个\(45^.斜\)的正方形 求是否相交(共点也算), 坐标正负\(100\)以内 div2 D (x)(o) \(A,B\)两 ...
- python paramiko的使用介绍
一: 使用paramiko #设置ssh连接的远程主机地址和端口t=paramiko.Transport((ip,port))#设置登录名和密码t.connect(username=username, ...