添加自定义触发器时如何保留 mahapps Metro 样式?

2023-12-12

我有一个采用默认 Metro 风格的按钮。但是,当我向按钮添加触发器时,样式被覆盖。添加您自己的样式和触发器时如何保留原始的 mahapps Metro 样式?

    <Button x:Name="startButton" Content="Start" HorizontalAlignment="Right"  VerticalAlignment="Bottom" Margin="0,0,20,26" Width="75" Click="startButton_Click" Height="67" Grid.Column="1">
        <!--<Button.Style>
            <Style TargetType="Button">
                <Style.Triggers>
                    <Trigger Property="IsMouseOver" Value="True">
                        <Setter Property="Foreground" Value="Red"></Setter>
                    </Trigger>
                </Style.Triggers>
            </Style>
        </Button.Style>-->
    </Button>

这就是按钮最初的样子

Before

这是我添加触发器后的样子

After


您需要将样式的“BasedOn”属性设置为 mahapps.metro 默认提供的属性:

<Style TargetType="Button" BasedOn="{StaticResource MetroButton}">

文档没有说明默认的静态资源,但它是 OpenSource,因此很容易在您导入的 Controls.xaml 的源代码中找到它,以在 app.xaml(或窗口顶部等)中加载默认样式:

https://github.com/MahApps/MahApps.Metro/tree/develop/src/MahApps.Metro/Styles

搜索 TargetType="Button" 会找到我们的默认样式(没有键):

甚至也是基于基础风格,MahApps.Metro.Styles.MetroButton.

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

添加自定义触发器时如何保留 mahapps Metro 样式? 的相关文章

  • 为什么无法将 WPFToolkit DataGrid ItemSsource 绑定到 DataTable?

    In a Telerik控制 我能够绑定DataTable直接到ItemSource 但是当我切换到 Codeplex 时WPFToolkit Datagrid
  • 如何在 RichTextBox 中以编程方式移动插入符位置?

    我有一个 RichTextBox 其中的特殊文本位具有自定义格式 但是 存在一个错误 即插入字符后 插入符号会放置在新插入的字符之前而不是之后 这是因为对于每次编辑 代码都会重新计算内容以应用自定义格式 然后像这样设置 CaretPosit
  • 获取代码中的绑定结果

    我可能正在以错误的方式寻找这个 但是 有没有办法通过代码获取绑定的结果值 可能是一些显而易见的东西 但我就是找不到它 您只需致电ProvideValue的绑定方法 困难的部分是你需要通过有效的IServiceProvider到方法 编辑 实
  • 无法使用 DialogResult

    我尝试使用DialogResult检查一个Messagebox s 是 否 取消 我正在使用以下代码 我没有看到任何问题 DialogResult dlgResult MessageBox Show Save changes before
  • 比较运算符性能 <= 与 !=

    让我们首先声明代码可读性胜过微优化 我们应该将其留给编译器 这只是一个奇怪的案例 具体细节似乎与一般建议相比很有趣 因此 我在搞素数生成器函数 并提出了一种奇怪的行为 其中 人们建议效率最高 实际上效率最低 而 C private stat
  • ListView ItemContainerStyle 模板

    我创建了用作 ListView 项目模板的样式 其中包含 CheckBox 和 TextBlock
  • 如何使 WPF 应用程序在 Web 浏览器上运行

    我们有一个用 WPF 编写的现有应用程序 我们正在寻找一种迁移它的方法 以便它可以在 Web 浏览器上运行 深入研究后 我们似乎需要找到一种将代码编译为 WebAssembly 的方法 但我不确定它对于现有的完全加载的 WPF 应用程序有多
  • Wpf TextBlock 中的垂直文本

    是否可以垂直显示 TextBlock 中的文本 以便所有字母彼此堆叠 不使用 LayoutTransform 旋转 还没有人提到使用纯 XAML 垂直堆叠任意字符串的字母 不旋转它们 的明显而简单的方法
  • 混合 MFC 和 WPF:模态对话框

    我使用 C CLI 界面层将 C WPF 对话框添加到现有的 C MFC 应用程序 我一切正常 只是我遇到了形式问题 例如 MFC 应用程序使用 ShowDialog 显示 WPF 对话框 按预期工作 该 WPF 对话框显示使用 DoMod
  • WPF/C# 将自定义对象列表数据绑定到列表框?

    我在将自定义对象列表的数据绑定到ListBox in WPF 这是自定义对象 public class FileItem public string Name get set public string Path get set 这是列表
  • 如何枚举控件的所有依赖属性?

    我有一些 WPF 控件 例如 文本框 如何枚举该控件的所有依赖属性 如 XAML 编辑器所做的那样 不需要使用反射 恕我直言 这是一个坏主意 因为框架已经为此提供了实用程序类 但它们并不明显找到 以下是基于这篇文章的答案 枚举绑定 http
  • 是什么导致 WPF 打印机输出被光栅化?

    我在 WPF 中遇到了许多打印问题 其中正在打印的特定项目组合会突然触发打印机输出的光栅化 导致打印机输出丑陋且庞大 并可能导致打印每页需要 30 秒 我发现在控件上设置任何级别的不透明度之类的事情通常会触发此问题 我忘记了它还有什么作用
  • 从一张图像复制 ROI 并复制到 wpf 中的另一张图像

    我想开发一个具有以下签名的函数 CopyImage ImageSource inputImage Point inTopLeft Point InBottomRight ImageSource outputImage Point outTo
  • 使用 ICollectionView 过滤 ObservableCollection

    I have ObservableCollection绑定到dataGrid现在我想过滤我看到需要使用的呈现数据ICollectionView但我不知道如何添加ICollectionView和我的MVVM图案 我的代码简化如下 public
  • 更改其他页面的主窗口内容

    在 WPF 应用程序的主窗口中 我有一个 Badged 元素 来自材料设计 这是我的代码
  • 元素属性语法和属性属性语法之间有语义差异吗?

    我认为元素属性语法和属性属性语法在语义上没有太大区别 但是 我发现一定有什么不同 例如 下面的例子只是演示了一个简单的触发器
  • 主从视图中聚合详细信息值

    我在一些自定义实体中有主从关系 假设我有以下结构 class Master INotifyPropertyChanged public int Id get set property changed implementation publi
  • 如何使取消按钮像“X”按钮一样工作?

    在我的 XAML 文件中 我有一个窗口 我试图将其设置为无论用户单击 X 按钮还是单击 取消 按钮 行为都是相同的 我的缩写代码如下 public partial class Dialog Window private void Windo
  • 使用带有 prism 的 MVVM 在视图之间进行更改

    我是 WPF 新手 但根据我所读到的内容 构建应用程序的正确方法是在同一窗口上切换视图 我的意思是类似于带有菜单和显示视图的工作区的 框架 到目前为止我一直在关注这个http jesseliberty com 2011 01 06 wind
  • 计算 Richtextbox 中所有单词的最有效方法是什么?

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

随机推荐

  • 无法使用 Facebook API 获取位置和电子邮件

    在我的 Android 应用程序中 我开发了这段代码来使用我的帐户登录并获取用户属性 例如姓名 位置和电子邮件 问题是我可以获得姓名 但无法获得电子邮件和位置 当我尝试我的代码而不尝试捕获应用程序崩溃和我的日志点时getproperty e
  • @RequestMapping正则表达式

    我正在尝试为 spring RequestMapping 注释创建 value 属性来像这样映射 url educationDistrict 308 action resetAddressesForYear 1 and this educa
  • 使用读取繁重的 Slave 管理热备中 Postgres 复制的冲突和滞后

    要求 Avoid terminating connection due to conflict with recovery错误也可以接受replication lag Google Cloud PostgreSQL 9 6 复制已打开 使用
  • 如何在 Objective C 中创建单例类

    如何在 Objective C 中创建单例类 好吧 appDev 您可能会在网络上找到很多不同的技术来做到这一点 然而 对于iOS应用程序开发 我认为最方便的方法是执行以下操作 编写获取单例对象的方法 建议 使用dispatch once线
  • 自定义 UserManager 始终返回 null

    我正在尝试创建自己的UserManager从原始版本延伸 当我通过电子邮件进行搜索时 找不到该用户 但是如果我从上下文中进行搜索 如果我找到用户 请参阅Get方法 为了验证它是否确实得到了很好的实现 我覆盖了FindByEmailAsync
  • UIImagePicker 的内存问题

    我正在构建一个应用程序 它有几个不同的部分 所有这些部分都非常注重图像 它与我客户的网站相关 它们是 高设计 类型的服装 该应用程序的一部分是从相机或库上传的图像 以及显示缩略图网格的表格视图 相当可靠的是 当我处理 UIImagePick
  • 在 HTML 画布上设置文本格式 [关闭]

    Closed 这个问题需要多问focused 目前不接受答案 我正在使用 HTML Canvas 和 vanilla javascript 制作游戏 我是 javascript 新手 所以这可能比我想象的要容易 我有两个代表卡片的对象数组
  • 处理开关盒

    我怎样才能用 switch 语句做这样的事情 String prototype startsWith function str return this indexOf str 0 switch myVar case myVar starts
  • 既然 appsettings.json 就足够了,那么 Hosting.json 有什么意义呢?

    在 NET Core 2 Web API 应用程序中 我可以覆盖配置urls using appsettings json 但在官方文档他们引入了额外的文件 hosting json 为什么 增加复杂性有什么意义 下面的代码完全可以使用ap
  • Python:无法使用 odeint 和 Signum 函数求解微分方程

    我正在尝试解决这个问题 U 在哪里 here s c e t e dot t and e t theta t thetad t and e dot t theta dot t thetad dot t 其中thetad thetadesir
  • 插入 MySQL 表 PHP

    我在制作一个简单的表单来将数据插入 MySQL 表时遇到了一些麻烦 我不断收到此 SQL 错误 错误 您的 SQL 语法有错误 请检查手册 与您的 MySQL 服务器版本相对应 以便使用正确的语法 第 1 行 stock ItemNumbe
  • 传单 - 我似乎无法让基本示例发挥作用

    我一直在尝试让 Leaflet 一个网络地图 API 工作几个小时 起初我犯了一个错误 试图做太多事情 现在我只是试图让基本的例子发挥作用 这是我的代码 HTML 和 Javascript
  • PHP 自动缩小。有没有?

    我使用 PHP Minify 它非常棒 但我的问题是 是否有任何 PHP 插件或其他东西可以自动检测 javascript css 代码并自动缩小它 谢谢 JavaScript 缩小器 看一看here require once jsmin
  • Web 应用程序 [ROOT] 似乎已启动名为 [pollingConfigurationSource] 的线程,但未能停止它。内存泄漏

    您好 我在运行项目时遇到内存泄漏错误 我在用spring boot quards scheduler liquibase postgreSQL 9 6 这些是我们正在使用的技术 Error 12018 10 15 11 43 19 005
  • 多对多关系

    我在 Parse com 上有两个课程 图像和数据 在数据类中 我保存了 3 个字段 姓名 手机号码和职业 在图像类中 我正在保存图像 我必须在这两个类之间创建关系 以便我可以使用相应的手机号码获取图像 一个手机号码可以保存多张图片 表数据
  • 将凭据/令牌保存在 cookie 中?

    我已经成功完成身份验证 我知道向客户端返回令牌 JWT 该令牌有一个到期日期 时间 因此我正在考虑将令牌保存在 cookie 中 以便对未来的登录进行身份验证 但这可能行不通 然后我考虑将用户名和密码保存在 cookie 中 尽管我知道不建
  • Python问号的正则表达式[重复]

    这个问题在这里已经有答案了 正在处理一个数据集 其中包含下一个审核日期的列 此列有缺失字段 以问号 表示 我想捕捉这个 使用正则表达式 然后将没有审核日期的所有行与其余数据分开 问题 明确匹配问号的表达式是什么 问号前的反斜杠表示 字面匹配
  • SQL 错误:ORA-12712:新字符集必须是旧字符集的超集

    我想将oracle数据库的字符集从 WE8MSWIN1252 更改为 AL32UTF8 我尝试从链接 http download oracle com docs cd B10501 01 server 920 a96529 ch10 htm
  • 如何在循环中运行固定数量的进程?

    我有一个这样的脚本 bin bash for i 1 to 200000 do create input file run java done 我需要同时运行多个 8 或 16 个进程 java 但我不知道如何运行 我知道wait可以提供帮
  • 添加自定义触发器时如何保留 mahapps Metro 样式?

    我有一个采用默认 Metro 风格的按钮 但是 当我向按钮添加触发器时 样式被覆盖 添加您自己的样式和触发器时如何保留原始的 mahapps Metro 样式