c# - 使用 MaterialDesignTheme WPF 时使用系统默认按钮的正确解决方案?
问题描述
我在使用MaterialDesign WPF时尝试使用System
默认按钮,但我有点担心。
我想在同一个窗口中同时使用两种类型的按钮。
我使用了Style
and ,StaticResource
但我不确定这是一个正确的解决方案。
第 1 步:创建样式:
<Window.Resources>
<Style x:Key="MyButtonStyle" TargetType="Button">
</Style>
</Window.Resources>
第 2 步:使用:
<Button Style="{StaticResource MyButtonStyle}"
Name="btnChange"
Content="My Button Style"
Height="35"
VerticalAlignment="Bottom"
HorizontalAlignment="Right"
Margin="10"></Button>
MaterialDesign
样式将不会应用于 thisButton
。
这是一个正确的解决方案吗?
解决方案
这是正确的,但是如果您想更改您的所有按钮,View
或者Software
您应该在您的视图Resource
或中执行此操作App.xaml
:
<Style TargetType="{x:Type Button}">
<!-- ... -->
</Style>
你不需要使用StaticResource
.
但是如果你想要一些不同风格的按钮,你应该这样做:
<Style x:Key="ButtonStyle1" TargetType="{x:Type Button}">
<!-- ... -->
</Style>
你应该使用StaticResource
.
如果您的按钮样式相同,但它们有一点不同,您可以创建一个基本按钮样式,如下所示:
<Style x:Key="ButtonBaseStyle" TargetType="{x:Type Button}">
<!-- ... -->
</Style>
<Style x:Key="ButtonStyle1" TargetType="{x:Type Button}" BasedOn="{StaticResource ButtonBaseStyle}">
<!-- ... -->
</Style>
推荐阅读
- qt - 获取 ProgressBar 以填充 Rectangle qml
- google-sheets - 我如何与列进行比较并自动返回一个数字:示例:=IFS(AND(B2="Groups",N2="Blood Donation"),4)
- xml - 第 x 行的 xml 解析错误。文档末尾的额外内容
- c - 找不到 gtkbuilder.c 的日志域名
- python - 返回所有单个字母的集合,而不是每个单词的集合
- javascript - 如何在iOS中停止双击缩放整个页面
- javascript - 在另一个函数中使用一个函数 - javascript
- powershell - 在 PowerShell 中使用 Test-Connection 时如何返回布尔值和 TestConnectionCommand+PingStatus?
- laravel - 使用 if/else 运算符的 Laravel 查询
- java - 将 2 个不同大小的二维数组加在一起