向wpf添加新类

本文关键字:新类 添加 wpf | 更新日期: 2023-09-27 18:12:50

如何使用我自己的自定义类扩展wpf的实现?特别是,我想在wpf上创建新的c#类,而不是从App.xaml和MainWindow.xaml派生的类。我应该直接将它们添加到项目中吗?如果是这样,我是否可以使用MainWindow元素的引用来调整它们的功能并添加新任务?它们应该从MainWindow类派生吗?

将wpf的实现扩展到其他新类的最合理的方法通常是什么?

向wpf添加新类

这是一个相当广泛的问题,在哪里放置类和从什么类继承是完全不同的问题。这两个问题最终都是体系结构的问题,这里无法回答适合您的应用程序的体系结构是什么。这取决于您的应用程序应该做什么以及应该如何做,所有这些都应该在使用类做任何事情之前计划好。你可能想读一些关于软件工程和软件架构等主题的聪明的书。

最终您应该找到一本关于WPF的好书,阅读它,并在编辑器中键入所有示例。简单地尝试潜入一个API,完全没有例子,没有架构如何工作的概念,是不会让你很快得到任何东西的。

回答你的具体问题:

它们应该从MainWindow类派生吗?

。要为WPF应用程序编写GUI,在Visual Studio生成新应用程序、新窗口或新用户控件时,很少需要使用尚未为您编写的继承。

在代码的某个地方使用继承可能是有意义的,但很少在GUI代码本身,当然不是在窗口或应用程序级别。继承的唯一手工使用将是实现自定义WPF控件(扩展GUI的最不常见和最痛苦的选项)。

如何使用我自己的自定义类扩展wpf的实现?

我不清楚你要做什么,所以我会尽量涵盖所有的情况。

UI

如果你想要一个新的应用程序,通常你根本不会从一个特定的应用程序类派生,你只需要创建一个新的WPF项目(一个完整的程序)。然后,Visual Studio将为您创建继承ApplicationWindow的新类。

如果你想要一个新窗口,同样的事情是正确的。你只需要告诉Visual Studio创建一个新窗口,你的类就会自动为你创建,它们将继承Window

如果要向窗口添加现有控件,不要从任何东西派生。转到UI设计器,并将控件从工具箱拖放到页面上。或者直接编辑该窗口的XAML。

如果您想自定义当用户单击或使用控件时发生的事情,请为这些控件编写事件处理程序。或者当你对此感到舒适时,阅读数据绑定和MVVM设计模式,因为它将帮助你编写更简洁的程序。

如果你试图自定义你的应用程序或控件的外观,你通常会使用数据模板,样式,用户控件和自定义控件,按照频率和难度的顺序。除了自定义控件之外,这些都不涉及手工编写的继承。当你在WPF中添加一个用户控件时,Visual Studio将会编写一个继承自某个控件的类,但是你不必担心这个事实。

非ui

如果你试图编写应用程序的核心,你可能应该避免编写任何UI代码。

把你的UI和你的主应用程序分开是一个很好的做法。这样,如果一项全新的技术出现,你就可以剥离UI,并将其投入到一个新程序中。或者,如果你决定把这些内脏放到一个网页上,这也是可能的。

你可以从UI中的代码中引用这个新代码,或者使用MVVM设计模式(你最终应该仔细阅读),但是你应该尽可能避免混合你的UI特定代码和非UI代码。

这意味着你不会继承任何UI类来实现你的应用程序的核心。