一起学习Avalonia(十)

经过一段时间调整,我们继续了解。在以前的初略控件介绍后,我们将逐步扩展。

今天继续介绍样式

  样式

先看看我们经常写的的xmal.

<StackPanel>
        <Button Margin = "20" Content = "Btn" />
        <Button Margin = "20" Content = "Style Btn" />
    </StackPanel> 

(1)颜色

<Window.Styles>
        <Style Selector = "Button">
            <Setter Property = "Foreground" Value = "# FFFFFFFF" />
            <Setter Property = "BorderThickness" Value = "2" />
            <Setter Property = "Background" Value = "# FFDD4812" />
            <Setter Property = "BorderBrush" Value = "# FFFFFFFF" />
        </Style>
    </Window.Styles>

在窗口中加入此代码,实现颜色的修改。

(2)边缘修改圆形

添加另外一种样式。

 <Style Selector = "Button/template/ContentPresenter">
            <Setter Property = "CornerRadius" Value = "10" />
        </Style> 

这里通过选择器,使用模板控件修改属性。

(3)解决上面样式不足

使用伪类。

 <Style Selector = "Button: pointerover / template / ContentPresenter">
            <Setter Property = "BorderBrush" Value = "# FFDD4812" />
        </Style> 

这里使用的伪类是pointerover;

其他伪类包括:focus:disabled:pressed为按钮, :checked用于复选框等。

如果需要指定控件,则通过classes设置,如下:

<StackPanel>
		<Button Margin = "20" Classes = "btn" Content = "Style Btn" />
	</StackPanel>

(4)样式类

 <Style Selector="TextBlock.h1">
        ...
    </Style>

列表式,同时使用多个伪类

<Button Classes="h1 blue"/>

样式类也可以使用Classes集合在代码中进行操作
 

control.Classes.Add("blue");

control.Classes.Remove("red");

具体内容可以查阅官方文档。

这部分就介绍这些。

原文地址:https://www.cnblogs.com/jinyu20180311/p/13854734.html