从 UserControl 抽象子类继承

发布于 2024-07-14 07:38:24 字数 200 浏览 8 评论 0原文

我有一组用户控件需要具有一些类似的属性。 因此,我定义了 UserControl 的一个抽象子类,它定义了这些属性并更新了 .xaml.cs 和 .g.cs 文件以从该基类继承。 一切都编译良好并且运行良好。 伟大的! 但是....g.cs 文件已生成并将重新生成,那么我如何告诉 Blend 或 Visual Studio 继续从我的基类而不是 UserControl 继承?

I have a set of UserControls that need to have a few similar properties. Thus I have defined an abstract subclass of UserControl that defines these properties and updated the .xaml.cs and .g.cs files to inherit from this base class. All compiles well and runs well. Great! But.... .g.cs files are generated and will be regenerated, so how do I tell Blend or Visual Studio to keep inheriting from my base class rather than UserControl?

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

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

发布评论

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

评论(1

落花随流水 2024-07-21 07:38:24

您需要稍微更改一下 XAML,以便为 UserControl 声明添加命名空间前缀:

<local:MyBaseControl x:Class="MyNameSpace.MyControl"
    xmlns:local="clr-namespace:MyNameSpace"
    xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
    xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml">

    <!-- Content -->
</local:MyBaseControl>

其中 MyNameSpace 是您的命名空间(废话!),MyBaseControl 是您的基类,MyControl 是从 MyBaseControl 继承的控件。 x:Class 部分不需要位于同一名称空间中,我只是在示例中保持相同。

更多信息 此处此处

You need to change the XAML a bit to prefix the UserControl declaration with a namespace:

<local:MyBaseControl x:Class="MyNameSpace.MyControl"
    xmlns:local="clr-namespace:MyNameSpace"
    xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
    xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml">

    <!-- Content -->
</local:MyBaseControl>

Where MyNameSpace is your namespace (duh!), MyBaseControl is your base class and MyControl is your control that inherits from MyBaseControl. The x:Class part doesn't need to be in the same namespace, I've just kept it the same for the example.

More info here and here.

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