wpf enum databinding
本文关键字:databinding enum wpf | 更新日期: 2023-09-27 18:07:27
我有一个类BatchInfoViewModel,它包含一个enum:
namespace MyStuff.ViewModel
{
public class BatchInfoViewModel : ObservableObject
{
public enum TimeFrame
{
Today,
Last7days,
Last30days,
Last6months,
Last12months,
All
}
}
}
和一个使用BatchInfoViewModel的用户控件'BatchInfoView',我试图在这个视图中绑定一个组合框,到模型上的TimeFrame enum,但我发现的每个资源都显示了我认为是我使用的方法,但我一直得到类型在运行时没有发现异常。
<UserControl x:Class="MyStuff.View.BatchInfoView"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
xmlns:view="clr-namespace:MyStuff.View"
xmlns:viewModel="clr-namespace:MyStuff.ViewModel;assembly=MyStuff.ViewModel"
xmlns:sys="clr-namespace:System;assembly=mscorlib">
<UserControl.Resources>
<ObjectDataProvider x:Key="EnumDataProvider"
MethodName="GetValues"
ObjectType="{x:Type sys:Enum}">
<ObjectDataProvider.MethodParameters>
<!--None of these work at all, I'm lost :( I've tried variations of these: -->
<!--<viewModel:BatchInfoViewModel></viewModel:BatchInfoViewModel>
<x:Type TypeName="viewModel:TimeFrame"/>
<x:Type TypeName="BatchInfoViewModel:TimeFrame"/>-->
</ObjectDataProvider.MethodParameters>
</ObjectDataProvider>
查找不到类型,将抛出异常
你有一个枚举嵌套在一个类中,将枚举放在命名空间中,在任何类之外,并使用viewModel:TimeFrame
。
(我测试了+
连接语法,您可以在枚举上使用x:Static
,但它似乎不适用于这里)