c# - 无法引用工具包

标签 c# silverlight silverlight-4.0 silverlight-toolkit

我正在尝试将上下文菜单与 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'

所以,我要么没有添加正确的引用资料,要么文件或文件版本出现问题。

最佳答案

我也在 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"

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

<SLToolkit:ContextMenu>

</SLToolkit:ContextMenu>

关于c# - 无法引用工具包,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17096443/

相关文章:

c# - 在原始 Linux 套接字上接收来自任何协议(protocol)的数据包

c# - 从二进制文件中的结构中解析内容

silverlight - MVVMLight - 如何在 View 中获取对 ViewModel 的引用?

c# - 如何防止datagrid刷新数据?

c# - 计算机崩溃后,我的 Visual Studio 2010 不会加载程序集

c# - 将文件下载到客户端浏览器,卡在 Response.End()

C# - Console.Beep 在 Windows Vista 上不工作

asp.net - Silverlight 中的多任务和多线程

silverlight-4.0 - Mef,将参数传递给模块

silverlight - silverlight 中的分层模板化多种对象类型