我知道这个问题可能会得到很多“重复问题”的评论,但我还没有看到一个有效的答案,或者不仅仅是“不惜一切代价避免它”。但是在这里,我创建了一个控件,让我们在一个名为“ControlA_Project”的项目中将其称为“ControlA”,我打算在一个名为“ControlB”的控件中覆盖它的一些虚拟方法,该控件在另一个名为“控制B_项目”。想法是“ControlA”具有保存和加载方法,我希望从保存和加载到文件,也保存和加载到数据库(如果稍后需要另一种保存和加载类型,我可以再次覆盖这些方法) . 我遇到的问题是我最初有“ControlA”
组件“ControlB_Project.ControlB”没有由 URI“/ControlA_Project;component/usercontrols/ControlA.xaml”标识的资源。
谷歌搜索错误我得出的结论是你不能从用户控件继承(或者为了争论,这不是一个好主意)。所以我然后将控件从用户控件更改为自定义控件。然而,这又导致我遇到另一个问题,控件模板不像用户控件中那样链接到后面的代码(即 On_Click),并且没有简单的方法来简单地覆盖行为(据我所知) . 我知道我可以通过复制和粘贴 ControlAs 模板并更改几行来重新模板 ControlB,但 controlA 有一个大模板,并且制作多个副本似乎浪费空间。简而言之,是否有正确的方法来改变 wpf 中控件的行为?