当前位置:  开发笔记 > 编程语言 > 正文

如何在WPF中创建基页?

如何解决《如何在WPF中创建基页?》经验,为你挑选了1个好方法。

我已经决定所有的WPF页面都需要注册一个路由事件.而不是包括

public static readonly RoutedEvent MyEvent= EventManager.RegisterRoutedEvent("MyEvent", RoutingStrategy.Bubble, typeof(RoutedEventHandler), typeof(BasePage));

在每一页上,我决定创建一个基页(名为BasePage).我将上面的代码行放在我的基页中,然后将我的其他几个页面改为派生自BasePage.我无法通过这个错误:

错误12'CTS.iDocV7.BasePage'不能是XAML文件的根,因为它是使用XAML定义的.第1行位置22. C:\ Work\iDoc7\CTS.iDocV7\UI\Quality\QualityControlQueuePage.xaml 1 22 CTS.iDocV7

当我可以在任何wpf页面上放置我想要使用的事件,属性,方法等时,是否有人知道如何最好地创建基页?



1> Matt Hamilto..:

这是我在当前项目中完成此操作的方法.

首先我定义了一个类(正如@Daren Thomas所说 - 只是一个普通的旧C#类,没有相关的XAML文件),就像这样(是的,这是一个真正的类 - 最好不要问):

public class PigFinderPage : Page
{
    /* add custom events and properties here */
}

然后我创建一个新的页面并将其XAML声明更改为:


所以我将它声明为"my"命名空间中的PigFinderPage.您需要使用类似的语法声明您需要的任何页面范围的资源:


    

最后,切换到这个新页面的代码隐藏,并更改其类声明,使其从您的自定义类派生,而不是直接从Page派生,如下所示:

public partial class EarmarkSearchPage : PigFinderPage

请记住将其保留为部分类.

这对我有用 - 我可以在"PigFinderPage"中定义一堆自定义属性和事件,并在所有后代中使用它们.

推荐阅读
郑小蒜9299_941611_G
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有