无法参考Toolkit

时间:2013-06-13 20:29:11

标签: c# silverlight silverlight-4.0 silverlight-toolkit

我正在尝试将contextmenu与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'

所以,我要么不添加正确的引用,要么在文件或文件版本中存在混乱。

1 个答案:

答案 0 :(得分:4)

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

您可以选择下载.zip或msi。我选择了.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"

最后,您可以使用contextmenu:

<SLToolkit:ContextMenu>

</SLToolkit:ContextMenu>