命名空间中不存在来自WPFToolkit的控制

时间:2012-07-02 17:34:10

标签: c# wpf .net-3.5

我添加了参考文件WPFToolkit.dll,并添加了以下行:

的.xaml文件
xmlns:toolkit="clr-namespace:Microsoft.Windows.Controls;assembly=WpfToolkit"

以及之前的行:

xmlns:toolkit="http://schemas.microsoft.com/wpf/2008/toolkit"

在两种情况下都在行

<toolkit:NumericUpDown Value="10" Increment="1" Maximum="10" Minimum="0" />

我有错误:

  

错误1 XML命名空间“http://schemas.microsoft.com/wpf/2008/toolkit”中不存在标记“NumericUpDown”。第20行位置18. C:\ Users \ Diament \ Documents \ Visual Studio 2008 \ Projects \ MyBasicFlyffKeystroke \ MyBasicFlyffKeystroke \ Window.xaml 20 18 MyBasicFlyffKeystroke

问题出在哪里? :(

7 个答案:

答案 0 :(得分:7)

我遇到了同样的问题。

如果我跳过取消阻止步骤并且只是解压缩,则xaml预览窗口将无法加载,VS将继续向我提供名称空间{{3}中不存在的&#39; IntegerUpDown组件}&#39;错误,即使自动完成会很乐意列出该命名空间中的所有组件。

但是,如果我首先取消阻止 zip文件,然后解压缩,然后在VS中引用dll,一切正常。

TL; DR:首先关注http://schemas.xceed.com/wpf/xaml/toolkit ,特别是 取消阻止 zip文件

答案 1 :(得分:4)

NumericUpDown不是basic WPF Toolkit的一部分,而是Extended WPF Toolkit

的一部分

使用IntegerUpDown(或任何provided derived classes)并确保在您的应用程序中使用相应的DLL。以下是在项目引用扩展WPF工具包DLL( Xceed.Wpf.Toolkit.Dll )时使用IntegerUpDown的示例:

<Window x:Class="WpfApplication4.Window1"
        xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
        xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
        xmlns:toolkit="http://schemas.xceed.com/wpf/xaml/toolkit"
        Title="Window1" Height="300" Width="300">
    <Grid>
      <toolkit:IntegerUpDown Value="10" Increment="1" Minimum="0" Maximum="10" />
   </Grid>
</Window>

答案 2 :(得分:2)

我已经关注@Andrew建议(下载,解锁,提取,添加),但仍有同样的问题。

相反,通过NUGET进行安装(按照其页面here上的说明进行操作)使其无需执行手动步骤即可运行。

Go go nuget ...

答案 3 :(得分:2)

http://wpftoolkit.codeplex.com/documentation

安装和使用说明

请注意:Extended WPF Toolkit依赖于.NET Framework 4.0。您必须安装.NET Framework 4.0才能使用Toolkit中的任何功能。

使用Extended WPF Toolkit二进制文件的说明:

1.Install .NET Framework 4.0. 
2.Download the ExtendedWPFToolkit_Binaries 
3.Unblock the ZIP file. 1.Right-click ExtendedWPFToolkit_Binaries.zip -> Properties -> Unblock 

4.Unzip the ExtendedWPFToolkit_Binaries.zip 
5.Reference the binaries in your project: 
    1.Reference WPFToolkit.Extended.dll in your project (Xceed.Wpf.DataGrid.dll for the datagrid control) 
    2.Add a using statement ("using Xceed.Wpf.Toolkit;" for most of the controls, "using Xceed.Wpf.DataGrid;" for the datagrid control) to the top of .cs files 
    3.Add a new xmlns (xmlns:xctk="http://schemas.xceed.com/wpf/xaml/toolkit" for most of the controls, xmlns:xcdg="http://schemas.xceed.com/wpf/xaml/datagrid" for the datagrid control) to the top of XAML files 
    4.Remember to use the namespace prefix (in the above example, <xctk: ...> or <xcdg: ...>) in the body of your XAML 

使用NuGet进行安装

1.Install NuGet (can be downloaded for  this link: https://visualstudiogallery.msdn.microsoft.com/27077b70-9dad-4c64-adcf-c7cf6bc9970c). 
2.Open your Visual Studio. 
3.Open your solution/project. 
4.Open Tools menu, select Library Package Manager and select  Package Manager Console 
5.Run the following command Install-Package Extended.Wpf.Toolkit 
    1.Add a using statement ("using Xceed.Wpf.Toolkit;" for most of the controls, "using Xceed.Wpf.DataGrid;" for the datagrid control) to the top of .cs files

    2.Add a new xmlns (xmlns:xctk="http://schemas.xceed.com/wpf/xaml/toolkit" for most of the controls, xmlns:xcdg="http://schemas.xceed.com/wpf/xaml/datagrid" for the datagrid control) to the top of XAML files 
    3.Remember to use the namespace prefix (in the above example, <xctk: ...> or <xcdg: ...>) in the body of your XAML 

答案 4 :(得分:2)

我发现了同样的错误。您必须卸载当前安装工具包和重新安装工具包它才能解决错误。这不是一个合适的解决方案,但您可以继续工作。

答案 5 :(得分:1)

尝试

xmlns:toolkit="http://schemas.xceed.com/wpf/xaml/toolkit"

答案 6 :(得分:0)

注意:考虑Extended WPF Toolkit - Numeric Up Down,已过时。 他们强烈建议使用任何“专业”版本。顺便说一下,不应生成错误,但警告

如何找不到程序集,请检查项目和Wpf Toolkit版本的兼容性。