WPF中binding一个dictionary

参考Stack Overflow
界面上的绑定必须加上Path=,不加绑定就失败了。其次,我这里是一个key为枚举的字典,因此必须给类型名,且必须写上类的路径。xmlns:MyNameSpace="clr-namespace:MyNameSpace"
这是类与枚举的定义

namespace MyNameSpace
{
	enum MyEnum
	{
		first,
		second
	}
	class MyClass
	{
		public string MyValue {get;set;}
	}
}

ViewModel中的dictionary

Dictionary<MyEnum,MyClass> MyDic;

前端代码

{Binding Path=MyDic[(MyNameSpace:MyEnum)first].MyValue}

后端的字典binding

我有个DataGrid,需要动态添加几列,也用到了上面的那个字典

MyDataGrid.Columns.Insert(0, new DataGridTextColumn() { Header = string.Format("{0}", enum.ToString()), Binding = new Binding(string.Format("MyDic[{0}].MyValue", enum.ToString())) });

我原先在后台也加了(MyNameSpace:MyEnum),但是无法绑定,删除了反而就成功了

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值