我正在尝试将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 回答
我也在Silverlight 4中工作,而且'm using the Toolkit from April 2010. It'特定于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命名空间:
最后,您可以使用contextmenu: