【问题标题】:How to use custom Controls in WPF如何在 WPF 中使用自定义控件
【发布时间】:2011-04-15 15:16:00
【问题描述】:

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

【问题讨论】:

  • 您应该明确您的控件是您为 WinForms 创建的控件还是专门在 WPF 中创建的新控件。
  • 控件创建在WindowsFormsControlLibrary

标签: c# wpf


【解决方案1】:

可能需要重建某个项目,然后 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">

其中 custom 是命名空间的任何标识符,而 MyProject 是命名空间。不要担心这一点,因为当您键入“xmlns:custom=”(不带引号)时,智能感知将为您提供当前引用的现有命名空间的选择。所以只需从下拉列表中选择适当的命名空间,然后按 Enter。

现在向下滚动到您要放置自定义控件的位置,然后:

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

custom:MyControl 来自 xmlns:custom(上图)和控件名称 MyControl Content 是分配给“Click Me!”的 Content 属性Click 是带有处理程序“Button_Click”的 Click 事件。

希望这会有所帮助!

【讨论】:

    【解决方案2】:

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

    我可能会补充一点,简单地创建一个 WPF 用户控件可能是一个好主意 - 与 WinForms 相比,该过程已经改进了很多,而且内容模型应该使事情变得更加容易。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2016-08-09
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-08-25
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多