如何将en enum添加到WPF上下文菜单

jef*_*smi 3 data-binding wpf c#-4.0

我有一个枚举"HelperMenu",我想将其添加到WPF中的文本框中.它不起作用,我不知道我在这里做错了什么:

枚举:

 public enum HelperMenu
 {
    Klant,
    Eindklant,
    Email,
    Telfoonnummer,
    GSM
 }
Run Code Online (Sandbox Code Playgroud)

XAML代码:

 xmlns:sys="clr-namespace:System;assembly=mscorlib"
 xmlns:data="clr-namespace:RFPModule.GUI"

 <UserControl.Resources>
    <ObjectDataProvider x:Key="Menu" MethodName="GetValues" ObjectType="{x:Type sys:Enum}">
        <ObjectDataProvider.MethodParameters>
            <x:Type TypeName="data:HelperMenu"/>
        </ObjectDataProvider.MethodParameters>
    </ObjectDataProvider>
</UserControl.Resources>

<TextBox>
    <TextBox.ContextMenu>
        <ContextMenu ItemsSource="{Binding Menu}" />
    </TextBox.ContextMenu>
</TextBox>
Run Code Online (Sandbox Code Playgroud)

有什么建议?
提前致谢!

Ste*_*rex 6

您需要将ItemsSource绑定更改为:

<ContextMenu ItemsSource="{Binding Source={StaticResource Menu}}" />
Run Code Online (Sandbox Code Playgroud)

当前的绑定意味着"绑定到Menu属性this.DataContext",而您想说"使用Key==菜单绑定到资源"