2010-09-22 48 views
15

我在C#中创建了一个自定义控件(在Button控件中重写了方法并添加了新事件)。我需要在我的wpf应用程序中使用此控件。在WinForms我可以使用ToolBox(right click) --> Choose Items -->Browse。在WPF中,我无法导入自定义控件。有没有办法做到这一点如何在WPF中使用自定义控件

+0

您应该明确您的控件是为WinForms创建的控件还是在WPF中专门创建的新控件。 – 2010-09-22 10:18:19

+0

该控件是在'WindowsFormsControlLibrary'中创建的 – 2010-09-24 06:15:43

回答

12

可能需要重建某个项目,然后xaml文件应该是活动的。您的自定义控件应该出现在工具箱中。如果它不显示。你可以做到以下几点:

在XAML文件

,在标题标签,在这里你会看到许多的xmlns的地方:YYY,添加新的xmlns:例如:

<Window 
    x:Class="MyProject.MainWindow" 
    xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" 
    xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" 
    xmlns:custom="clr-namespace:MyProject"> 

这里的风俗是任何名称空间的标识符和MyProject是名称空间。不要担心这个,因为当你输入“xmlns:custom =”(不带引号)时,intellisense会给你选择当前引用的现有名称空间。所以只需从下拉菜单中选择适当的名称空间,然后按回车即可。

现在向下滚动到你想要把你的自定义控制:

<custom:MyControl Content="Click Me!" Click="Button_Click" /> 

定制:MyControl距离的xmlns:定制(上图)和控件名称,MyControl 内容是分配给“Click Me!”的Content属性和点击是处理程序“Button_Click”的Click事件。

希望这会有所帮助!

1

我认为你是在谈论一个WinForms用户控件在这里,而不是一个WPF?如果是的话,我建议你阅读下面的文章: http://msdn.microsoft.com/en-us/library/ms742875.aspx

我想补充,它可能是一个好主意,只需创建一个WPF用户控件 - 这一进程多大改善相比的WinForms,也是内容模型应该让事情变得容易一些。