XAML 样式设定(4种)
程序员文章站
2022-06-08 15:08:26
...
类似于Html,适用就近原则
1. 内联样式
通过更改指定标签的属性更改样式,仅适用于指定标签自身。
<TextBlock Height="30" FontSize="16" HorizontalAlignment="Left" Margin="162,109,0,0" TextWrapping="Wrap" Text="TextBlock" VerticalAlignment="Top"/>
2. 页面样式
在页面跟节点中定义,能够控制整个页面的样式
注意:
①Resources中的唯一标识用【X:Key=""】,用于前台;而控件中用的是【name=""】或【X:Name】用于后台。
②如果没有设置【X:Key】,则该样式应用于整个页面,如果设置了【X:Key】,则需要用【Style="{StaticResource 样式名}】来指定使用的样式。
<Page x:Class="WpfBrowserApp2.Page1"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
xmlns:local="clr-namespace:WpfBrowserApp2"
mc:Ignorable="d"
d:DesignHeight="450" d:DesignWidth="800"
Title="Page1">
<Page.Resources>
<!--页面跟节点中定义-->
<Style TargetType="TextBlock">
<!--TargetType属性必须指定-->
<Setter Property="FontSize" Value="50"></Setter>
<Setter Property="FontStyle" Value="Italic"></Setter>
</Style>
<Style TargetType="TextBlock" x:Key="myStyle"><!--x:Key 设置样式名称-->
<Setter Property="FontSize" Value="50"></Setter>
<Setter Property="FontStyle" Value="Italic"></Setter>
</Style>
</Page.Resources>
<Grid>
<TextBlock Height="92" HorizontalAlignment="Left" Margin="162,109,0,0" TextWrapping="Wrap" Text="TextBlock" VerticalAlignment="Top" Width="277"/>
<TextBlock Height="92" Style="{StaticResource myStyle}" HorizontalAlignment="Left" Margin="162,267,0,0" TextWrapping="Wrap" Text="TextBlock2" VerticalAlignment="Top" Width="277"/>
</Grid>
</Page>
3. 全局样式
在【App.xaml】文件中进行样式的定义
<Application x:Class="WpfBrowserApp2.App"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:local="clr-namespace:WpfBrowserApp2"
StartupUri="Page1.xaml">
<Application.Resources>
<Style TargetType="TextBox"><!--也可以使用X:Key-->
<Setter Property="Background" Value="Red"></Setter>
</Style>
</Application.Resources>
</Application>
4. 资源文件样式
添加资源文件:项目右键 - 添加资源文件
<ResourceDictionary xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:local="clr-namespace:WpfBrowserApp2">
<Style TargetType="Button">
<Setter Property="FontSize" Value="16"></Setter>
<Setter Property="FontStyle" Value="Italic"></Setter>
</Style>
</ResourceDictionary>
调用方法
<Page.Resources>
<ResourceDictionary>
<ResourceDictionary.MergedDictionaries>
<ResourceDictionary Source="Dictionary1.xaml"/>
</ResourceDictionary.MergedDictionaries>
</ResourceDictionary>
</Page.Resources>
<Grid>
<Button Content="Button" HorizontalAlignment="Left" Margin="590,302,0,0" VerticalAlignment="Top" Width="75"/>
</Grid>
推荐阅读
-
Jquery 实现table样式的设定
-
Vue.js-04:第四章 - 页面元素样式的设定
-
使用stylus选择元素列表的中后n个并为他们单独设定样式案例
-
Word中怎么新建模板为具有相同样式的文体预先设定好模板
-
x:bind不支持样式文件 或 此Xaml文件必须又代码隐藏类才能使用{x:Bind} 解决办法
-
XAML 样式设定(4种)
-
Jquery 实现table样式的设定
-
ie7、ie8 下Table 中 td 列固定宽度 未按样式设定显示 曲线解决方案_html/css_WEB-ITnose
-
超链接样式设定_html/css_WEB-ITnose
-
Jquery 实现table样式的设定_jquery