"标签'MenuItem' XML 命名空间“clr-namespace:System.Windows.Controls; assembly=System.Windows.Controls.Input.Toolkit”中不存在错误

发布于 2024-10-08 13:59:40 字数 316 浏览 1 评论 0 原文

我尝试在新计算机上构建 Silverlight 应用程序时遇到错误。 (Silverlight 4、Visual Studio 2010)此应用程序在其他四台计算机上编译时没有错误。

错误是:

the tag 'MenuItem' does not exist in XML namespace 'clr-namespace:System.Windows.Controls;assembly=System.Windows.Controls.Input.Toolkit'. 

引用似乎是指向正确程序集的指针。还有其他人遇到过这个问题吗?

I'm getting an error trying to build a Silverlight application on a new machine. (Silverlight 4, Visual Studio 2010) This application compiles without error on four other machines.

The error is:

the tag 'MenuItem' does not exist in XML namespace 'clr-namespace:System.Windows.Controls;assembly=System.Windows.Controls.Input.Toolkit'. 

The references appear to be pointer to the correct assemblies. Has anyone else ever had this problem?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(5

很酷又爱笑 2024-10-15 13:59:40

可能发生此问题的另一个原因是缺少对使用 Toolkit 控件部分所需的所有“三个”程序集的引用。

如果尝试使用工具包输入(并且也可能假设主题),请确保您引用了以下程序集。

System.Windows.Controls
System.Windows.Controls.Toolkit
System.Windows.Controls.Input.Toolkit

这解决了我遇到的与错误相关的问题。

Another reason this issue may occur is due to missing a reference to all "three" assemblies required to use the portions of the the Toolkit controls.

Make sure you have reference to the following assemblies if attempting to use the Toolkit inputs (and assuming the themes also possibly).

System.Windows.Controls
System.Windows.Controls.Toolkit
System.Windows.Controls.Input.Toolkit

This solved the problem I was having in relation to the error.

时光暖心i 2024-10-15 13:59:40

http://marktinderholt.wordpress.com/2011 /07/12/silverlight-toolkit-for-silverlight-5-beta

它是 SL5 中重新编译的工具包,只需引用它们即可

http://marktinderholt.wordpress.com/2011/07/12/silverlight-toolkit-for-silverlight-5-beta

its the recompiled toolkit in SL5, just reference those and you're set

∞梦里开花 2024-10-15 13:59:40

您始终可以依靠在代码中创建上下文菜单。

public LedgerEntryControl()
{
    InitializeComponent();

    ContextMenu contextMenu = new ContextMenu();
    MenuItem voidMenuItem = new MenuItem() { Header = "Void" };
    voidMenuItem.SetBinding(MenuItem.CommandProperty, new Binding("Void"));
    contextMenu.Items.Add(voidMenuItem);
    ContextMenuService.SetContextMenu(this, contextMenu);
}

You can always fall back on creating the context menu in code.

public LedgerEntryControl()
{
    InitializeComponent();

    ContextMenu contextMenu = new ContextMenu();
    MenuItem voidMenuItem = new MenuItem() { Header = "Void" };
    voidMenuItem.SetBinding(MenuItem.CommandProperty, new Binding("Void"));
    contextMenu.Items.Add(voidMenuItem);
    ContextMenuService.SetContextMenu(this, contextMenu);
}
初吻给了烟 2024-10-15 13:59:40

看起来您在那台计算机上缺少 Silverlight Toolkit,但它已安装在其他四台计算机上。

looks like you're missing the Silverlight Toolkit on that machine, but it's installed on the four other ones.

眼眸印温柔 2024-10-15 13:59:40

由于某种原因,NuGet Package Manager 中的 SilverLight Toolkit 适用于 SL4,即使项目设置为 SL5 也是如此。您可以直接从 CodePlex 下载 SL5 版本。请注意,日期是 2011 年 12 月,而不是 SL4 版本的 2011 年 2 月。

如果由于某种原因 MSI 未安装(这发生在我身上),您可以使用 7-zip。我所要做的就是从提取的文件中手动添加对 System.Windows.Controls.Input.Toolkit.dll 的引用,我的 SL5 项目现在可以使用其 NumericUpDown 控件成功编译。令人高兴的是,我的程序现在可以在发布和调试模式下编译。

另外要补充的是,对于那些尚未这样做的人,您可能需要在 XAML 中引用正确的工具包。我使用了以下内容:

<sdk:Page xmlns:input="clr-namespace:System.Windows.Controls;assembly=System.Windows.Controls.Input.Toolkit" ... >

请注意,第一部分(即 input)是需要在 XAML 中键入才能使用该控件的内容:

<input:NumericUpDown x:Name="myControl" ... />

For some reason, the SilverLight Toolkit from NuGet Package Manager is for SL4, even when the project is set to SL5. You can download the SL5 version directly from CodePlex. Note that the date is December 2011, instead of February 2011 like the SL4 version.

If for some reason the MSI does not install (which happened to me), you can extract the files contained in the MSI using 7-zip. All I had to do was manually add a reference to System.Windows.Controls.Input.Toolkit.dll from the extracted files, and my SL5 project now compiles successfully with its NumericUpDown control. Happily, my program now compiles both in Release and Debug mode.

Also to add, for those who have not already done so, you may need to have a reference in the XAML to the correct toolkit. I used the following:

<sdk:Page xmlns:input="clr-namespace:System.Windows.Controls;assembly=System.Windows.Controls.Input.Toolkit" ... >

Note that the first part, where is says input, is what needs to be typed in the XAML to use the control:

<input:NumericUpDown x:Name="myControl" ... />
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文