WPF:MVVM对转换器说不,但我需要很好的枚举值
||
在模型层中,我定义了一个枚举:
public enum MemberStatus
{
ActiveMember = 0,
InactiveMember = 1,
Associate = 2,
BoardMember = 3,
Alumni = 4
}
在我看来,我有一个组合框,其中装有这些枚举值:
<UserControl.Resources>
<ObjectDataProvider
x:Key=\"memberStatusesDataProvider\"
ObjectType=\"{x:Type system:Enum}\"
MethodName=\"GetValues\">
<ObjectDataProvider.MethodParameters>
<x:Type TypeName=\"model:MemberStatus\" />
</ObjectDataProvider.MethodParameters>
</ObjectDataProvider>
</UserControl.Resources>
...
<ComboBox
ItemsSource=\"{Binding Source={StaticResource memberStatusesDataProvider}}\"
SelectedItem=\"{Binding Path=Status}\" />
...
这将导致组合框的选择与枚举中定义的值完全相同。尽管这是我最初的目标,但我希望为用户提供更好的演示,例如:
组合框选择:
活跃成员
无效成员
关联
董事会成员
校友
另外,如果应用程序中的语言发生更改,则我需要该语言的枚举值。为了解决这个问题,我想到的第一件事就是为MemberStatus
枚举值创建一个转换器。我在以下主题中找到了这篇漂亮的文章:http://www.codeproject.com/KB/WPF/FriendlyEnums.aspx但是MVVM模式表示几乎不需要创建它们-我同意这一点。但是,在此示例中,这种肯定对我不利。
应该怎么做?谢谢。
没有找到相关结果
已邀请:
4 个回复
部窖空
梆晨灸碾
更可重用。 我可能想将ѭ5转换为
,并且可以在视图中全部指定参数。 或者,也许我想将
转换为
,然后通过数据绑定再次全部返回。也许我想将所有内容都转换为大写。然后是我最喜欢的BoolToVisibilityConverter。 我不愿意在我的9岁以下就都使用显式的直接或间接代码,只是为了让一些少数民族感到高兴。我想让他们忘记的是,可以从Expression Blend轻松访问转换器。 转换器是WPF和essential10ѭ和
之间的补充绑定的重要组成部分。 我认为没有理由不能将它们使用3英镑。
渴翅吮斡撤
捐焦