如何在 WPF 中创建基页?

2023-11-22

我决定我的所有 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 页面使用的事件、属性、方法等时如何最好地创建基页面?


以下是我在当前项目中的做法。

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

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

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

<my:PigFinderPage x:Class="Qaf.PigFM.WindowsClient.PenSearchPage"
    xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
    xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
    xmlns:my="clr-namespace:Qaf.PigFM.WindowsClient"
    />

所以我在“我的”命名空间中将其声明为 PigFinderPage。您需要的任何页面范围资源都必须使用类似的语法进行声明:

<my:PigFinderPage.Resources>
    <!-- your resources go here -->
</my:PigFinderPage.Resources>

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

public partial class EarmarkSearchPage : PigFinderPage

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

这对我来说是一种享受 - 我可以在“PigFinderPage”中定义一堆自定义属性和事件,并在所有后代中使用它们。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何在 WPF 中创建基页? 的相关文章

  • wpf,如何限制TextBox的MaxLength?

  • 在 System.Xml.XPath 中启用 XPath2 查询(XPathException:无效令牌)

    Microsoft 的 System Xml XPath nuget package 可用于 NET 4 6 声称支持 XPath 1 0 和 2 0 德文档 https msdn microsoft com en us library s
  • WPF:如何避免图像超出 Canvas 的边界?

    我有一个画布作为图像查看器 它的背景用于放置图像 我想在其上面放置另一个图像 所以 场景是这样的
  • 在 NUnit 测试中使用 WPF 组件 - 如何使用 STA?

    我需要在 NUnit 单元测试中使用一些 WPF 组件 我通过 ReSharper 运行测试 在使用 WPF 对象时失败并出现以下错误 系统 InvalidOperationException 调用线程必须是 STA 因为许多 UI 组件都
  • ASP.NET MVC ActionFilterAttribute 在模型绑定之前注入值

    我想创建一个自定义操作过滤器属性 该属性在模型绑定期间可访问的 HttpContext 项中添加一个值 我尝试将其添加到 OnActionExecuting 中 但似乎模型绑定是在过滤器之前执行的 你知道我该怎么做吗 也许模型绑定器中有一个
  • WCF 服务调用包装器

    为 WCF 服务调用创建包装器的最佳实践是什么 我认为有必要 为了在同一个地方监视所有呼叫 我正在考虑使用这种代码 这是正确的想法吗 RetType t ServiceExecutionContext
  • 为使用 SSH.NET SshClient.CreateShellStream 执行的命令 (sudo/su) 提供子命令

    我正在尝试使用 Renci SSH NET 从 C Web 应用程序连接到远程 Linux 服务器并执行 shell 脚本 我想一个接一个地运行脚本 但不知道如何运行脚本并读取输出并将其存储在标签中 我已经尝试了下面的代码 但无法一行接一行
  • Android 手机作为 GSM 调制解调器在 PC 上发送/接收短信?

    是否可以将 Android 移动设备用作 PC 上的 GSM 调制解调器 我正在 net下开发应用程序来发送 接收短信等 现在我想通过 USB 将我的 Android 设备连接到我的 PC 并将其用作 GSM 调制解调器来与其通信 这里是参
  • 如何在 .NET Framework 2.0 中模拟“Func<(Of <(TResult>)>) 委托”?

    我尝试使用这个类代码项目文章 http www codeproject com KB threads AsyncVar aspx在 VB NET 和 NET Framework 2 0 中 除了这一行之外 所有内容似乎都可以编译Privat
  • 确保 StreamReader 不会挂起等待数据

    下面的代码读取从 tcp 客户端流读取的所有内容 并且在下一次迭代中它将仅位于 Read 上 我假设正在等待数据 我如何确保它不会在没有任何内容可供读取时返回 我是否必须设置低超时 并在失败时响应异常 或者有更好的办法吗 TcpClient
  • 计算 Richtextbox 中所有单词的最有效方法是什么?

    我正在编写一个文本编辑器 需要提供实时字数统计 现在我正在使用这个扩展方法 public static int WordCount this string s s s TrimEnd if String IsNullOrEmpty s re
  • 等待进程释放文件

    我如何等待文件空闲以便ss Save 可以用新的覆盖它吗 如果我紧密地运行两次 左右 我会得到一个generic GDI error
  • 从列表中选择项目以求和

    我有一个包含数值的项目列表 我需要使用这些项目求和 我需要你的帮助来构建这样的算法 下面是一个用 C 编写的示例 描述了我的问题 int sum 21 List
  • 服务 AddJsonOptions .net core 2.1

    以前使用 net 2 0 您可以通过这种方式添加 json 内容 services AddJsonOptions options gt options SerializerSettings ContractResolver new Came
  • 函数的变量存储在哪里?在堆栈或堆上?

    当程序调用函数时 为该函数中的变量分配哪种类型的数据结构内存 堆还是栈 为什么 在我看来 它应该存储在堆栈上 因为它们不一定是引用类型 但在我读到答案的地方 据说它们存储在堆上 并在函数返回值后释放 它比这更复杂一点 事实上使用堆栈和堆实际
  • 带有空项目的组合框?

    假设我们有一个数据源绑定到数据库中的集合 当然不存在空项 如何添加一个将项目无效到 ComboBox 中 这样第一次加载时用户会看到一个空字符串 我不想将虚拟 空对象添加到集合中 最好在 XAML 中 有什么建议吗
  • 如何使用命令行压缩指定文件夹

    你们能告诉我如何将指定的文件压缩到同一个 Zip 文件中吗 让我告诉我我的文件夹是如何填充的 任务调度程序有我的数据库的备份 并每天将它们保存到文件中 它每天创建 4 个数据库备份 这意味着每天会多出 4 个文件 因此 我需要将新创建的备份
  • 在业务逻辑中使用反射是一种好的做法吗?

    我需要开发一个由两个主要部分组成的应用程序 具有特定业务类别的业务逻辑部分 例如书籍 图书馆 作者 一个通用部分 可以在数据网格中显示书籍 图书馆 将它们映射到数据库 通用部分使用反射从业务类中获取数据 而不需要在业务类中编写特定的数据网格
  • 用于打印的真实尺寸 WPF 控件

    我目前正在开发一个应用程序 用户可以在画布上动态创建 移动 TextBlock 一旦他们将文本块放置在他们想要的位置 他们就可以按下打印按钮 这将导致 ZPL 打印机打印当前显示在屏幕上的内容 ZPL 命令是通过从每个 TextBlock
  • Azure 可以运行 WPF 吗?

    我想编写一个在 Windows Azure 上运行的 ASP Net MVC 应用程序 该应用程序将使用 WPF 创建图像 在我开始写之前 这会起作用吗 Azure 是否具有渲染 WPF 所需的 DLL 包括 DirectX 和图形功能 我

随机推荐

  • 通过 sys.modules 使虚拟包可用

    假设我有一个包 mylibrary 我想让 mylibrary config 可供导入 无论是作为动态创建的模块 还是从完全不同的位置导入的模块 然后基本上 安装 在 mylibrary 命名空间内 即 我这样做 import sys ty
  • 给定一个边界框和一条线(两个点),确定该线是否与该框相交

    给定一个边界框 其定义如下bounds min x y z bounds max x y z 以及 3D 空间中的两个点 表示为Vector3对象 如何确定两点所形成的线是否与边界框相交 这里有一个在线 C 实现 线盒交点 http www
  • JavaScript:更改嵌入标签的 src 属性

    我有以下场景 我向用户展示了来自服务器的一些音频文件 用户单击其中一个 然后最终对选定的文件夹和文件执行 onFileSelected 该函数的作用是更改嵌入对象的源 因此 在某种程度上 它是在接受所选文件并保存用户的选择之前对其进行的预览
  • 如何在 VSCode 中创建自定义命令?

    在 Emacs 中 我可以用 Lisp 语言创建函数并将它们放在 emacs文件 这些函数将成为可以从编辑器调用或绑定到按键的命令 就像任何其他内置命令一样 有没有办法在 VSCode 中做到这一点 注意 自定义命令需要能够调用其他命令 简
  • Java Math 类的本机代码

    我想知道是否有任何方法可以访问 Math 类的本机代码 更具体地说 我需要查看 sin 方法的代码 这取决于实现 如文档中所述java lang Math 与类的一些数字方法不同StrictMath 类的等效函数的所有实现Math未定义为返
  • std::bind 成员函数到对象实例的快捷方式,无需绑定参数

    我有一个带有多个参数的成员函数 我想将其绑定到特定的对象实例并将其传递给另一个函数 我可以用占位符来做到这一点 actualInstance is a MyClass auto callback bind MyClass myFunctio
  • 根据列将多个无标题列中的值替换为 0、1、2

    根据评论编辑 背景 这是当前数据框的样子 行标签是原始 Excel 文件中的信息文本 但我希望这个小的数据复制足以解决问题 实际文件大约有 100 列和 200 行 列标题和行 0 值按照如下所示的模式重复 除了Sales or Valid
  • 如何最好地将方法传递到同一类的方法中

    我有一个 C 类 它是一个大而复杂的方法compute我想用 计算内核 来提供 这是同一类的方法 我想我会做一些类似的事情 class test int classVar 42 int compute add int a int b com
  • Wix:如果找到以前的版本,则显示自定义对话框

    我想自定义我的安装程序 以便在已安装以前的版本时显示自定义对话框 在欢迎对话框之后 用户应该看到一个自定义对话框OldVersionDlg包含已找到先前版本并将自动卸载的信息 但由于某种原因设置的属性UpgradeVersion元素总是nu
  • 集合内的流星显示数组

    我想创建一个带有标签的帖子模型 并且能够显示每个帖子的所有标签 你知道最好的方法吗 我试过这个
  • 附加新卷时 Kubernetes Pod 处于挂起状态 (EKS)

    让我描述一下我的场景 TL DR 当我在 Kubernetes 上创建带有 1 个附加卷的部署时 一切都运行良好 当我创建相同的部署 但附加了第二个卷 总共 2 个卷 时 Pod 陷入 待处理 状态并出现错误 pod has unbound
  • Java:按位 OR 和 AND 比等效的逻辑运算符更快吗?

    切干 虽然我从来没有足够的逻辑运算使它成为性能瓶颈 我想知道 使用按位与 和按位或 而不是同名逻辑运算符会更好吗 和 如果可能的话 也许这个问题可以这样开头 我不知道有一个库可以将 Java 转换为汇编来查看操作数 位运算符避免分支指令 即
  • 如何绘制多点贝塞尔曲线?

    我有几点 我尝试使用下面的代码绘制贝塞尔曲线 PathFigure pf new PathFigure points From ps false ps list of Bezier segments PathFigureCollection
  • 如何在 CMake 中的不同目录中使用文件 glob

    file GLOB and file GLOB RECURSE 似乎仅适用于当前源目录 有什么办法可以全局不同的目录吗 file GLOB 一开始可能有点令人困惑 几个月前我也遇到过类似的问题 您必须直接在中指定您的路径
  • UIImagePickerController 显示的 VIDEO_TOO_LONG_TITLE 警报

    I use a UIImagePickerController拍电影 电影的长度受到设置的限制videoMaximumDuration控制器的属性 当您尝试拍摄较长的电影时 会按预期显示一条警报 However 意外的额外警报有权VIDEO
  • 插件更新后詹金斯严重错误

    我尝试更新几个詹金斯插件 不记得是哪个 但挂了 大约 15 分钟后 我决定重新启动 jenkins 服务器 这是我在詹金斯用户界面上得到的 org jvnet hudson reactor ReactorException java lan
  • C 中具有严格别名和严格对齐的面向对象模式的最佳实践

    我已经编写嵌入式 C 代码很多年了 新一代的编译器和优化器在警告有问题代码的能力方面无疑已经进步了很多 然而 至少有一个 根据我的经验 非常常见 用例继续引起悲伤 其中多个结构之间共享公共基本类型 考虑这个人为的例子 include
  • 获取html页面上的所有链接?

    我正在做一个小爱好项目 我已经编写了获取 url 下载标头并返回 mime 类型 内容类型的代码 然而 在此之前的步骤是我坚持的步骤 我需要基于标签内部和引号中检索页面上所有网址的内容 即 会找到网站图标链接 net 库中有什么有用的东西吗
  • 如何找到与任意(非成员)数字最接近的数组元素?

    看似相似的问题 查找数组中最接近的数字 Java 中 和 找到与双打数组最接近的匹配 实际上是一道地理问题 我有一个 已排序的 双打数组 给定一个任意数字 可能与数组元素之一完全匹配 也可能不完全匹配 如何返回最接近匹配的数字的索引 例如
  • 如何在 WPF 中创建基页?

    我决定我的所有 WPF 页面都需要注册路由事件 而不是包括 public static readonly RoutedEvent MyEvent EventManager RegisterRoutedEvent MyEvent Routin