zoukankan      html  css  js  c++  java
  • 《WPF程序设计指南》读书笔记——第3章 内容的概念

    1.Content属性及字体相关的属性

    using System;
    using System.Windows;
    using System.Windows.Media;
    
    namespace LY.DisplaySomeText
    {
        public class DisplaySomeText:Window
        {
            Brush brush = new LinearGradientBrush(Colors.Black, Colors.White, new Point(0, 0), new Point(1, 1));
            [STAThread]
            public static void Main()
            {
                new Application().Run(new DisplaySomeText());            
            }
            public DisplaySomeText()
            {
                Title = "Display Some Text";
                //Content = "Content can be simple text!";            
                //Content = System.EventArgs.Empty;
                Content = DateTime.Now;
                //设置字体系列
                FontFamily = new FontFamily("宋体");
                FontSize = 48;
                FontStyle = FontStyles.Italic;
                FontWeight = FontWeights.Bold;
                //Background = brush;
                Foreground = brush;
                //将窗口大小调整为适应内容的大小
                SizeToContent = SizeToContent.WidthAndHeight;
                //设置边框的画刷
                BorderBrush = Brushes.Red;
                //设置上下左右边框的宽度
                BorderThickness = new Thickness(25, 50, 75, 100);
            }
        }    
    }
    

      1)没有Font类,需通过FontFamily(字体系列),FontSize、FontStyle、FontWeight等属性来设置。

    using System;
    using System.Windows;
    using System.Windows.Media;
    using System.Windows.Input;
    
    namespace LY.RecordKeyStrokes
    {
        public class RecordKeyStrokes:Window
        {
            [STAThread]
            public static void Main()
            {
                Application app = new Application();
                app.Run(new RecordKeyStrokes());
            }
            public RecordKeyStrokes()
            {
                Title = "Record Key Strokes";
                Content = "";
            }
            protected override void OnTextInput(TextCompositionEventArgs e)
            {
                base.OnTextInput(e);
                string str = Content as string;
                if (e.Text == "\b")
                {
                    if (str.Length > 0)
                        str = str.Substring(0, str.Length - 1);
                }
                else 
                {
                    str += e.Text;
                }
                Content = str;
            }
        }
    }
    

      1)Content属性的值发生变化后,屏幕会自动更新。

    2.图像的显示——Image类、Shape类

    using System;
    using System.Windows;
    using System.Windows.Controls;
    using System.Windows.Media;
    using System.Windows.Media.Imaging;
    using System.Windows.Shapes;
    
    
    namespace LY.ShowMyFace
    {
        public class ShowMyFace:Window
        {
            [STAThread]
            public static void Main()
            {
                new Application().Run(new ShowMyFace());
            }
            public ShowMyFace()
            {
                Title = "Show My Face";
                Uri uri = new Uri(@"C:\Users\LZ\Desktop\XX.png");
                BitmapImage bitmap = new BitmapImage(uri);
                Image image = new Image();
                image.Source = bitmap;
                image.HorizontalAlignment = HorizontalAlignment.Left;
                image.VerticalAlignment = VerticalAlignment.Center;
                //设置图片的边界
                image.Margin = new Thickness(10, 20, 30, 40);
                Content = image;
                //显示一个椭圆
                //Ellipse elips = new Ellipse();
                //elips.Fill = Brushes.AliceBlue;
                //elips.StrokeThickness = 50;
                //Content = elips;
            }
        }
    }
    

      1)通过Image.Source指定一个Image对象的图片实例。

      2)常见的几何图形类在System.Windows.Shapes命名空间中。

      3)TextBlock对象可以将一段文字以不同的格式拼接在一起。

      4)ContentControl类与ContentElement类不同,前者是控件,可以直接显示出来,后者要借助于前者才能显示出来。

  • 相关阅读:
    横竖屏判断及禁止浏览器滑动条
    sinablog to cnblogs
    qml 3d 纪念那些曾经爬过的坑
    opencv 学习一安装环境vs2015+opencv3
    vs2015 调试 无法启动程序
    qtableview 表格风格设置
    qt 给父窗体设置样式不影响子控件样式以及子控件设置透明
    Qt ASSERT:"QMetaObjectPrivate::get(smeta)->revision>= 7"in file kernelqobject.cpp,line 2646
    cmake 学习-cmakelists.txt
    CMake学习- 使用批处理设置编译环境
  • 原文地址:https://www.cnblogs.com/pemp/p/3265948.html
Copyright © 2011-2022 走看看