绑定到xaml中的枚举

时间:2012-08-30 15:05:47

标签: wpf xaml enumeration

我有一个我构建的UserControl,它具有xaml中定义的属性,如下所示:

<Repeater:JointScoringGrid x:Name="PIPLeftErosionsRepeater" 
            TabName="PIP" 
            Header="Erosion"
            ControlNamePrefix="Left"
            ScoringType="Erosions">

然后,在我的代码后面,我的逻辑以ScoringType为中心。目前我正在通过评估工作的字符串(即ScoringType)来检查哪个ScoringType.ToUpper().Equals("EROSIONS")网格,但它并不像我希望的那样干净。我宁愿做的是使用枚举,但使用xaml中的名称而不是数值(例如,我想使用类似ScoringType="Enum.Erosions"而不是ScoringType="0"的内容来使xaml更具可读性)。这可以实现吗?

2 个答案:

答案 0 :(得分:1)

只需将属性的类型更改为枚举类型,它应自动将字符串解析为枚举值。 (例如HorizontalAlignment ="Stretch"有效,只是枚举属性)

答案 1 :(得分:1)

将评分类型定义为Enum类型的依赖项属性。然后你可以用xaml绑定它,如

ScoringType = {x:Static YourEnumType.Erosions}