отключить MenuItem в Windows Phone инструментарий - PullRequest
1 голос
/ 14 декабря 2011

Я хочу отключить некоторые элементы меню в contextMenu, но не все из них.

 <tk:ContextMenuService.ContextMenu>
                            <tk:ContextMenu Name="optionMenu">

                                <tk:MenuItem Header="Move to Favorite" Name="moveToFav" Click="moveToFav_Click" />
                                <tk:MenuItem Header="Copy to Favorite" Name="copyToFav" Click="copyToFav_Click" />
                                <tk:MenuItem Header="Set as Folder Front" Name="setFront" Click="setFront_Click" />
                                <tk:MenuItem Header="Delete" Name="delete" Click="delete_Click" />
                            </tk:ContextMenu>
                        </tk:ContextMenuService.ContextMenu>

например, я хочу отключить moveToFav, copyToFav MenuItem, я пытаюсь

moveToFav.isEnabled = false; copyToFav.isEnable = false;

Но это не сработало, потому что компилятор сказал, что moveToFav не существует в текущем контексте.

Любая помощь?

1 Ответ

2 голосов
/ 16 декабря 2011

хорошо, я решил сделать следующее

<tk:ContextMenuService.ContextMenu>
                            <tk:ContextMenu x:Name="optionMenu" >

                                <tk:MenuItem Header="Move to Favorite" x:Name="moveToFav" Click="moveToFav_Click" Loaded="moveToFav_Loaded" />
                                <tk:MenuItem Header="Copy to Favorite" Name="copyToFav" Click="copyToFav_Click" Loaded="copyToFav_Loaded" />
                                <tk:MenuItem Header="Set as Folder Front" Name="setFront" Click="setFront_Click" Loaded="setFront_Loaded" />
                                <tk:MenuItem Header="Delete" Name="delete" Click="delete_Click" />
                            </tk:ContextMenu>
                        </tk:ContextMenuService.ContextMenu>

в коде:

private void moveToFav_Loaded(object sender, RoutedEventArgs e)
    {
        if (condition)
            (sender as MenuItem).IsEnabled = false;
    }

    private void copyToFav_Loaded(object sender, RoutedEventArgs e)
    {
        if (condition)
            (sender as MenuItem).IsEnabled = false;
    }

это не идеально, но работает

...