WPF 项目不支持 NumericUpDown

Posted

技术标签:

【中文标题】WPF 项目不支持 NumericUpDown【英文标题】:NumericUpDown is not supported in a WPF project 【发布时间】:2016-02-03 03:17:42 【问题描述】:

我正在尝试在 Visual Studio 2013 的设计时将 NumericUpDown 添加到我的 WPF 窗口中。 到目前为止,我只有:

<NumericUpDown/>

这给了我错误:NumericUpDown is not supported in a Window Presentatio Foundation (WPF) project.

我认为我对 XAML 中的命名空间有一些误解,我尝试添加完整的命名空间,但仍然出现相同的错误。我在网上看到的所有帮助都是旧的,都是关于构建自己的。

【问题讨论】:

显示一些清晰的代码,你如何尝试添加控件。命名空间以及添加方式等 这能回答你的问题吗? Where is the WPF Numeric UpDown control? 【参考方案1】:

默认情况下,没有 NumericUpDown 控件。

不过,wpftoolkit 中包含一个类似于 NumericUpDown 的控件。 它被称为 IntegerUpDown。还有一个 DecimalUpDown 和一个 DoubleUpDown。

编辑:更新链接,因为 Codeplex 已经关闭了一段时间。

【讨论】:

【参考方案2】:

您不能在 WPF 中直接使用 Winforms 控件(基于您问题中到 NumericUpDown 的链接)。为此,您需要使用WindowsFormsHost 控件,并在其中使用 WinForm 控件

因此,要在 wpf 中获取 NumericUpDown,您需要执行以下步骤:

将您的 WPF 项目的引用添加到 System.Windows.Forms 并在 XAML 的情况下导入:

xmlns:winforms="clr-namespace:System.Windows.Forms;assembly=System.Windows.Forms"

渲染控件:

<StackPanel>
   <WindowsFormsHost>
       <winforms:NumericUpDown />
   </WindowsFormsHost>
</StackPanel>

您可以从 MSDN 了解更多关于 XAML 和 Code Behind (C#/VB) 的信息

如果这是您想要做的路线,希望这能给您一些想法。

【讨论】:

以上是关于WPF 项目不支持 NumericUpDown的主要内容,如果未能解决你的问题,请参考以下文章

Windows Presentation Foundation (WPF) 项目中不支持xxx的解决

Windows Presentation Foundation (WPF) 项目不支持网格

Windows Presentation Foundation(WPF)项目中不支持网格

用vs2008写好的xaml不能在blend2中打开,提示wpf项目中不支持usercontrol 、不支持grid 、不支持textblock

什么?WPF 不支持 SVG ?

blend 无法打开wpf