WPF - 8.控件类

摘要

所有控件都继承自System.Windows.Control类,该类添加了一小部分基本的基础结构:

正文

背景画刷和前景画刷

在WPF中,背景和前景分别使用Background和Foreground属性设置这两个区域(但非内容)的颜色。 这些属性使用的是更强大的对象:Brush对象。该对象为填充背景和前景内容提供了灵活性,可使用单一颜色(用SolidColorBrush画刷)或更特殊的颜色(如使用LinearGraidientBrush或TileBrush画刷)填充背景和前景。

控件包括两个属性Background和Foreground属性,这两个属性使用Brush对象。刷子对象的派生类包括SolidColorBrush、LinearGradientBrush、和TileBrush类。


    
        
        
    
    
    
private void initBackColor()
{
    this.btn1.Background = new LinearGradientBrush(new GradientStopCollection()
    {
        new GradientStop(Colors.Red,0.2),
        new GradientStop(Colors.Blue,0.2),
        new GradientStop(Colors.Green,0.6)
    });
    this.btn1.Foreground = new SolidColorBrush(Colors.Red);
    this.btn2.Background = new SolidColorBrush(Color.FromArgb(255, 255, 0, 0));//颜色-透明度
}

字体

调用字体或大小

this is test
txt.FontFamily = new FontFamily("Gadugi");
txt.FontSize = 36;

试图使用Technical Italic字体,但如果该字体不存在,就使用Arial或Corbel字体:

字体粗细FontWeight

字体粗细

usWeightClass

Thin

100

ExtraLight
UltraLight

200

Light

300

Normal
Regular

400

Medium

500

DemiBold
SemiBold

600

Bold

700

ExtraBold
UltraBold

800

Black
Heavy

900

ExtraBlack
UltraBlack

950

 Hello World
txt1.FontWeight= FontWeights.Bold;

文本装饰和排版 TextDecorations

Baseline

指定一个基线 TextDecoration。

OverLine

指定一个上划线 TextDecoration。

Strikethrough

指定一个删除线 TextDecoration。

Underline

指定一个下划线 TextDecoration。

Click Me
txt2.TextDecorations = new TextDecorationCollection()
{
     TextDecorations.Underline,
     TextDecorations.Strikethrough
};

字体样式(斜体) FontStyle

Click Me

Font style

Description

Normal

默认

Italic

斜体

Oblique

倾斜

遍历一下系统的所有字体

private void showfonts()
{
    foreach (FontFamily item in Fonts.SystemFontFamilies)
    {
        txt3.Text += item.Source+System.Environment.NewLine;
    }
}

字体嵌入

处理不常见字体的另一种选择是在应用成功需中嵌入字体。通过嵌入字体,应用程序就永远不会出现找不到所需字体这一问题。嵌入过程非常简单。首先向应用程序添加字体文件(通常是具有.ttf扩展名得文件),并将Build Action选项设置为Resource(为设置该属性,可在Visual Studio的Solution Explorer中选择字体文件,并在Properties窗口中改变它的Build Action属性)。


    
    
    
foreach (var item in Fonts.SystemFontFamilies)
{
    lsFont.Items.Add(item);
}
private void lsFont_SelectionChanged(object sender, SelectionChangedEventArgs e)
{
    txt1.FontFamily = lsFont.SelectedItem as FontFamily;
}

TextFormattingMode

Ideal —— WPF4之前的模式

·Display —— 新的模式,可以使字体显示更清晰

一般将TextFormattingMode设置为Display,可以提高字体显示的清晰度

TextFormattingMode属性仅仅是针对小尺寸文本的解决方案,记住这一点很重要。如果为更大的文本(超过15点的文本)使用该属性,文本将不会同样清晰,间隔将不会同样均衡,并且字体将不会被同样准确呈现。而且如果结合旋转、缩放和改变外观的变换使用文本,应当总是使用WPF的标准文本显示模式。因为针对显示文本的GDI风格的优化是在所有变换之前应用的。一旦应用变换,结果将不再对齐到像素边界,文本的显示将变得模糊不清。

鼠标光标

鼠标光标的常见做用是显示目前程序的运行状态,经过控件的Cursor属性来设置鼠标光标的形态。

对于任何应用程序而言,一个常见任务是调整鼠标光标以指示当应用程序正处于繁忙状态或指示不同控件的工作方式。可为任何元素使用Cursor属性以设备鼠标指针,该属性继承自FrameworkElement类。

可以通过System.Windwos.Input.Cursor对象来表示每个光标。获取Cursor对象的最简易方法是使用Cursors类的静态属性,它们包含了所有标准的Windows鼠标光标,如沙漏光标、手庄光标、调整尺寸的箭头光标等。

this.Cursor = Cursors.Wait;
Hello Cursors
WPF - 8.控件类

展开阅读全文

页面更新:2024-05-04

标签:控件   斜体   粗细   光标   属性   前景   文本   字体   对象   背景

1 2 3 4 5

上滑加载更多 ↓
推荐阅读:
友情链接:
更多:

本站资料均由网友自行发布提供,仅用于学习交流。如有版权问题,请与我联系,QQ:4156828  

© CopyRight 2008-2024 All Rights Reserved. Powered By bs178.com 闽ICP备11008920号-3
闽公网安备35020302034844号

Top