gpt4 book ai didi

wpf - 将枚举数据绑定(bind)到 WPF + MVVM 中的 ComboBox

转载 作者:行者123 更新时间:2023-12-04 14:36:04 25 4
gpt4 key购买 nike

我已阅读 this very related question here on SO ,并且由于答案中的链接而非常有帮助。我现在只是遇到了一个问题,现在要采取额外的步骤并使其全部使用 MVVM 模式。

假设我有我的 ViewModel,它(甚至模型)可以定义一个枚举:

public enum MyTypes { Type1, Type2, Type3 };

我想将它数据绑定(bind)到我的 GUI 中的 ComboBox。根据文章,我将使用 ObjectDataProvider 来调用 MyTypes 上的 Enum.GetValues() 方法。所以我必须将 MyTypes 作为 MethodParameter 传递。但是你如何传递类型?我尝试了各种方法,例如在 XAML 中添加对命名空间的引用:
    <Window.Resources>
<ObjectDataProvider MethodName="GetValues" ObjectType="{x:Type sys:Enum}" x:Key="TipHandlingValues">
<ObjectDataProvider.MethodParameters>
<!-- what goes here? it's totally wrong. -->
<my:MyTypes />
</ObjectDataProvider.MethodParameters>
</ObjectDataProvider>
</Window.Resources>

我放在那里的几乎什么都不会编译。有谁知道如何克服这个小障碍?

最佳答案

最简单的方法是在代码中添加这一行:

DataContext = Enum.GetValues(typeof(MyTypes));

其他选项是添加从枚举中生成值列表的标记扩展。

关于wpf - 将枚举数据绑定(bind)到 WPF + MVVM 中的 ComboBox,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2608300/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com