WPF笔记(1.10 绘图)——Hello,WPF!

书中的代码语法过时了,改写为以下(测试通过):

<Button>
   <Button.LayoutTransform>
                <ScaleTransform  ScaleX="3" ScaleY="3" />
   </Button.LayoutTransform>
   <StackPanel Orientation="Horizontal">
     <Canvas Width="20" Height="18" VerticalAlignment="Center">
      <Ellipse Canvas.Left="1" Canvas.Top="1" Width="16" Height="16"
         Fill="Yellow" Stroke="Black" />
      <Ellipse Canvas.Left="4.5" Canvas.Top="5" Width="2.5" Height="3"
         Fill="Black" />
      <Ellipse Canvas.Left="11" Canvas.Top="5" Width="2.5" Height="3"
         Fill="Black" />
      <Path Data="M 5,10 A 3,3 0 0 0 13,10" Stroke="Blue" />
   </Canvas>
   <TextBlock VerticalAlignment="Center">Click! </TextBlock>
  </StackPanel>
</Button>

ScaleTransform将button放大3倍。

Canvas上画图,画一个笑脸,3个椭圆,黄色是脸的轮廓,黄色是眼睛。蓝色钢笔画的是嘴巴——可以 顺便了解这四个元素在Canvas上是怎么精确定位的。

时间: 2024-10-31 10:35:00

WPF笔记(1.10 绘图)——Hello,WPF!的相关文章

VSTO学习笔记(七)基于WPF的Excel分析、转换小程序

原文:VSTO学习笔记(七)基于WPF的Excel分析.转换小程序 近期因为工作的需要,要批量处理Excel文件,于是写了一个小程序,来提升工作效率. 小程序的功能是对Excel进行一些分析.验证,然后进行转换.   概述 小程序主界面如下: 首先选择一个日期和类别,从命名上对待分析的Excel文件进行过滤.点击[浏览]选择待分析的Excel文件所在的目录, 程序中会获取所有子目录.然后点击[执行分析]就会按照左边CheckBox中的选择进行分析,分析结果显示在每一行中间.[修改配置]可以对分析

2000条你应知的WPF小姿势 基础篇&lt;22-27 WPF生命周期, 基础类等&gt;

原文:2000条你应知的WPF小姿势 基础篇<22-27 WPF生命周期, 基础类等> 端午长假在家陪着女朋友, 幸福感满满,生活对于一只饱经忧患的程序猿来说也是非常重要的,也就暂时没有更新博客.休假结束,回归奋斗的日子了,开始继续更新WPF系列. 在正文开始之前需要介绍一个人:Sean Sexton. 来自明尼苏达双城的软件工程师.最为出色的是他维护了两个博客:2,000Things You Should Know About C#  和 2,000 Things You Should Kn

WPF界面里拖动自定义控件,WPF界面并没有后台代码。

问题描述 WPF界面里拖动自定义控件,WPF界面并没有后台代码. 我的控件已经写好了,是一个虚拟键盘,现在的做法是获取textbox的焦点,判断控件与界面之间的大小关系使其能在固定的位置显示,但现在我想要实现其能在界面上自由拖动/移动,暂时没有想到什么好的办法.网上有说用mousedown等函数来控制,但那些需要自界面后台代码中实现,现在界面是没有后台代码的,不知道如何实现,希望能有大神指教一下.谢谢! 补充一点键盘的前台代码:

Android菜鸟的成长笔记(10)——使用Bundle在Activity之间传值

原文:[置顶] Android菜鸟的成长笔记(10)--使用Bundle在Activity之间传值 前面我们了解了如何启动一个Activity,一个Activity在启动另外一个Activity的时候可能会遇到需要传值的需要.Activity之间传值是通过Bundle来实现的. 一.通过Bundle传值介绍 Intent提供了多个重载方法来携带数据 putExtras(Bundle data):向Intent中放入需要的数据包 Bundle getExtras():取出Intent所携带的数据

2000条你应知的WPF小姿势 基础篇&lt;28-33 WPF启动故事&gt;

原文:2000条你应知的WPF小姿势 基础篇<28-33 WPF启动故事> 在正文开始之前需要介绍一个人:Sean Sexton. 来自明尼苏达双城的软件工程师.最为出色的是他维护了两个博客:2,000Things You Should Know About C#  和 2,000 Things You Should Know About WPF .他以类似微博式的150字简短语言来每天更新一条WPF和C#重要又容易被遗忘的知识.Follow他的博客也有一段日子了,很希望能够分享给大家. 本系

2000条你应知的WPF小姿势 基础篇&lt;74-77 WPF 多窗口Tips&gt;

原文:2000条你应知的WPF小姿势 基础篇<74-77 WPF 多窗口Tips> 在正文开始之前需要介绍一个人:Sean Sexton. 来自明尼苏达双城的软件工程师.最为出色的是他维护了两个博客:2,000Things You Should Know About C#  和 2,000 Things You Should Know About WPF .他以类似微博式的150字简短语言来每天更新一条WPF和C#重要又容易被遗忘的知识.很希望能够分享给大家. 本系列我不仅会翻译他的每一个ti

2000条你应知的WPF小姿势 基础篇&lt;69-73 WPF Freeze机制和Template&gt;

原文:2000条你应知的WPF小姿势 基础篇<69-73 WPF Freeze机制和Template> 在正文开始之前需要介绍一个人:Sean Sexton. 来自明尼苏达双城的软件工程师.最为出色的是他维护了两个博客:2,000Things You Should Know About C#  和 2,000 Things You Should Know About WPF .他以类似微博式的150字简短语言来每天更新一条WPF和C#重要又容易被遗忘的知识.很希望能够分享给大家. 本系列我不仅

WPF笔记(2.9和2.10)——Layout

2.9讲的是,如果内部设定超过容器大小,怎么办? StackPanel会裁剪越界部分 DockPanel和Grid会智能判断,从而决定换行. 2.10 自定义布局容器 自定义容器要实现两个方法MeasureOverride和ArrangeOverride,并保证遍历其下的所有子控件,使 他们都执行Measure和Arrange方法. using System; using System.Windows.Controls; using System.Windows; namespace Custo

WPF and Silverlight学习笔记(十一):WPF控件内容模型

WPF控件内容模型主要指派生于System.Windows.Controls.Control类的各种 控件,其主要分为四部分: ContentControl HeaderedContendControl ItemsControl< /p> HeaderedItemsControl 其继承关系请参考我上一篇博客的内容. 这四个类用作为 WPF 中大多数控件的基类.使用这些内容模型的类可以 包含相同类型的内容,并以相同的方式处理该内容:可以放置在某个 ContentControl(或从 Conte