【发布时间】:2019-11-12 16:47:20
【问题描述】:
我在命名空间 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 转换枚举值,则会错过 NotifyEvent。
希望以前有人遇到过这个问题并可以给我建议。提前感谢您的每一个提示。
【问题讨论】:
-
如果您能解释一下“它不起作用”是什么意思,那真的很有帮助。你有例外吗?告诉我们例外情况。编译器错误? Tell us the error.
-
是的,您是对的,感谢您的提示。我编辑问题。
标签: c# wpf indexing enums binding