Как добавить enum в контекстное меню WPF - PullRequest
3 голосов
/ 20 октября 2011

У меня есть перечисление "HelperMenu", которое я хочу добавить в текстовое поле в WPF.Это не сработает, и я не знаю, что я делаю здесь неправильно:

enum:

 public enum HelperMenu
 {
    Klant,
    Eindklant,
    Email,
    Telfoonnummer,
    GSM
 }

Код 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>

Есть предложения?Заранее спасибо!

1 Ответ

6 голосов
/ 20 октября 2011

Вам необходимо изменить ItemsSource привязку на:

<ContextMenu ItemsSource="{Binding Source={StaticResource Menu}}" />

Ваша текущая привязка означает «привязать к Menu свойству this.DataContext», а вы хотите сказать «привязать к ресурсу с помощью Key == Меню»

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...