1

我正在尝试将上下文菜单与 Silverlight 工具包中的菜单项一起使用。我正在使用 Silverlight 4.0,工具包是 5.0(也许这是一开始的问题),它不允许我添加简单的上下文菜单。
我在引用文件夹中添加对代码的引用,并选择 DLL System.Windows.Controls.Toolkit 和 System.Windows.Controls.Input.Toolkit。然后我在 XAML 文件中添加一个引用,如下所示:

xmlns:controlsInputToolkit="clr-namespace:System.Windows.Controls;assembly=System.Windows.Controls.Input.Toolkit"

我也试过这样:

xmlns:tk="http://schemas.microsoft.com/winfx/2006/xaml/presentation/toolkit"

我添加了一个这样的简单代码:

<navigation:Page x:Class="SilverlightApplication6.Page1" 
       xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" 
       xmlns:tk="http://schemas.microsoft.com/winfx/2006/xaml/presentation/toolkit"
       xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" 
       xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
       xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
       mc:Ignorable="d"
       xmlns:navigation="clr-namespace:System.Windows.Controls;assembly=System.Windows.Controls.Navigation"              
       d:DesignWidth="640" d:DesignHeight="480"
       Title="Page1 Page">
<Grid>
    <tk:ContextMenuService.ContextMenu>
        <tk:ContextMenu>

            <tk:Separator/>

        </tk:ContextMenu>
    </tk:ContextMenuService.ContextMenu>
</Grid>
</navigation:Page>

我得到这个错误:

The tag 'ContextMenu' does not exist in XML namespace 'http://schemas.microsoft.com/winfx/2006/xaml/presentation/toolkit'

所以,我要么没有添加正确的参考,要么文件或文件版本中有问题。

4

1 回答 1

4

我也在 Silverlight 4 中工作,我从 2010 年 4 月开始使用工具包。它特定于 SL4,你可以在这里找到它:http: //silverlight.codeplex.com/releases/view/43528

您可以选择下载 .zip 或 msi。我选择了 .msi,因此您的 Toolkit 将安装在 .msi 中C:\Program Files (x86)\Microsoft SDKs\Silverlight\v4.0\Toolkit\{release month year}\Bin,因此 VS 会自动选择它。这允许您通过 VS 中的接口添加引用。

像这样添加 xaml 命名空间:

xmlns:SLToolkit="clr-namespace:System.Windows.Controls;assembly=System.Windows.Controls.Input.Toolkit"

最后,您可以使用上下文菜单:

<SLToolkit:ContextMenu>

</SLToolkit:ContextMenu>
于 2013-06-14T07:02:57.380 回答