我在名称空间Parameter.Model中具有类型为Parameter的数组参数。我尝试绑定到特定值。如果执行以下操作,则不会出现任何问题:
...
xmlns:p="clr-namespace:Parameter.Model;assembly=Parameter"
...
<Button Content="{Binding Path=.[1].GWert, Source={x:Static p:Parameterliste.parameter},Mode=TwoWay}"/>
现在我想用我的Enum parBez定义索引:
namespace Parameter.Model
{
public enum parBez : int
{
Val1,
Val2,
Val3,
}
}
我尝试了来自post
的转换器参数建议例如,我尝试了以下两行以在按钮中显示枚举作为测试:
<Button Content="{Binding Path=x:Static p:parBez.Val1,Mode=TwoWay}"/>
和
<Button Content="{Binding Path=.Val1, Source={x:Static p:parBez},Mode=TwoWay}"/>
但是它不起作用。
第二个选项无法编译,并显示以下编译器错误:
无效的属性路径语法
'p:parBez'成员无效,因为它没有限定类型的名称。
在目标类型上找不到成员“ parBez”
有人能给我一个提示吗,或者在XAML中使用Enum并将其用作数组索引的解决方案?
我也检查了此post,但我认为ValueConverter不是我的解决方案,因为如果ValueConverter转换Enum值,则会丢失NotifyEvent。
希望有人以前有这个问题,可以告诉我。预先感谢您的每一个提示。
答案 0 :(得分:0)
这是正确的语法:
<Button xmlns:p="clr-namespace:Parameter.Model" Content="{x:Static p:parBez.Val1}"/>
这也就是将Source
的{{1}}设置为您的枚举值,
Binding