首页 > 其他分享 >给WPF示例图形加上方便查看大小的格子之完善版本

给WPF示例图形加上方便查看大小的格子之完善版本

时间:2023-02-28 11:06:46浏览次数:36  
标签:66.2 格子 示例 0.3 像素 版本 WPF


去年10月份, 我曾写过一篇"给WPF示例图形加上方便查看大小的格子"的BLOG,这次由于需要,将它完善一下,可以有效地区别100的整数倍逻辑像素(与设备无关像素)单位的显示。


显示效果:

给WPF示例图形加上方便查看大小的格子之完善版本_wpf


XAML代码:

<Canvas Width="752.009766" Height="1192.558594" xmlns="​​http://schemas.microsoft.com/winfx/2006/xaml/presentation​​"
xmlns:x="​​http://schemas.microsoft.com/winfx/2006/xaml​​">
<Canvas.Resources>
<DrawingBrush x:Key="MyGridBrushResource" Viewport="0,0,100,100" ViewportUnits="Absolute" TileMode="Tile">
<DrawingBrush.Drawing>
<DrawingGroup>
<DrawingGroup.Children>
<!--横线-->
<GeometryDrawing Geometry="M0,1 L10,1 M0,2 L10,2 M0,3 L10,3 M0,4 L10,4 M0,5 L10,5 M0,6 L10,6 M0,7 L10,7 M0,8 L10,8 M0,9 L10,9">
<GeometryDrawing.Pen>
<Pen Thickness="0.1" Brush="#CCCCFF" />
</GeometryDrawing.Pen>
</GeometryDrawing>
<!-- 横线100整数倍 -->
<GeometryDrawing Geometry="M0,0 L10,0">
<GeometryDrawing.Pen>
<Pen Thickness="0.1" Brush="DarkOrange" />
</GeometryDrawing.Pen>
</GeometryDrawing>
<!--竖线-->
<GeometryDrawing Geometry="M1,0 L1,10 M2,0 L2,10 M3,0 L3,10 M4,0 L4,10 M5,0 L5,10 M6,0 L6,10 M7,0 L7,10 M8,0 L8,10 M9,0 L9,10">
<GeometryDrawing.Pen>
<Pen Thickness="0.1" Brush="#CCCCFF" />
</GeometryDrawing.Pen>
</GeometryDrawing>
<!-- 竖线100整数倍 -->
<GeometryDrawing Geometry="M0,0 L0,10">
<GeometryDrawing.Pen>
<Pen Thickness="0.1" Brush="DarkOrange" />
</GeometryDrawing.Pen>
</GeometryDrawing>
</DrawingGroup.Children>
</DrawingGroup>
</DrawingBrush.Drawing>
</DrawingBrush>
<!-- 这里是外框线 -->
<Style x:Key="MyGridBorderStyle">
<Setter Property="Border.Background" Value="{StaticResource MyGridBrushResource}"/>
<Setter Property="Border.HorizontalAlignment" Value="Center"/>
<Setter Property="Border.VerticalAlignment" Value="Top"/>
<Setter Property="Border.BorderBrush" Value="Black"/>
<Setter Property="Border.BorderThickness" Value="1"/>
</Style>
</Canvas.Resources>

<!-- 引用方式 -->
<Border Style="{StaticResource MyGridBorderStyle}">
<Canvas Width="630" Height="348">
<Path StrokeThickness="5" Stroke="Orange" StrokeMiterLimit="1"
Data="F1 M 0.3,66.2 C 0.3,66.2 44.9,33.5 68.5,66.3 C 92.1,99.1 197.2,206.3 274.6,133.2 C 366.8,46.2 378.3,2.7 459.7,25.1"
/>
</Canvas>
</Border>

</Canvas>

而在此之前初始版本的演示效果为:

给WPF示例图形加上方便查看大小的格子之完善版本_blog_02

很明显,当前已完善版本看起来更清晰明了。

标签:66.2,格子,示例,0.3,像素,版本,WPF
From: https://blog.51cto.com/JohnsonJu/6090427

相关文章

  • WPF中任意Object的XAML代码格式化输出
    有时候,我们需要将WPF中的控件自身的XAML代码输出成文本,那么,我们可以使用System.Windows.Markup.XamlWriter.Save()方法来完成此任务。关于XamlWriter.Save()的示例,我曾经......
  • WPF中制作立体效果的文字或LOGO图形
    较久之前,我曾写过一篇:“​​WPF绘制党徽(立体效果,Cool)​​ ”的博文。有感兴趣的朋友来EMAIL问是怎么制作的?本文解决此类问题。有时,为了美观的需要,我们可能需要在应用程......
  • WPF中制作立体效果的文字或LOGO图形(续)
    上篇“WPF中制作立体效果的文字或LOGO图形”中讲述了立体LOGO图形的制作方法。从程序开发人员的角度来讲,这样的做法是不能令人满意的。首先,费时费力效率不高;其次,完全没有通......
  • WPF/Silverlight中图形的平移,缩放,旋转,倾斜变换演示
    为方便描述,这里仅以正方形来做演示,其他图形从略。运行时效果图:XAML代码://Transform.XAML<CanvasWidth="700"Height="700"xmlns="​​http://schemas.microsoft.com/......
  • WPF,SilverLight中直线的样式示例
    XAML代码://LineStyle.xaml<ViewboxWidth="600"Height="500"xmlns="​​​http://schemas.microsoft.com/winfx/2006/xaml/presentation​​​"xmlns:x="​​​http:......
  • WPF公章制作之2
    早前,我曾写过一篇:“在WPF中制作正圆形公章”。有空再次研究,使用C#将此WPF程序写了出来。运行效果图:关键C#代码://OfficialSeal.csusingSystem;usingSystem.Windows;usin......
  • WPF中的Frozen(冻结)与线程及其他相关问题
    System.Windows.Freezable类(在WindowsBase.dll中)定义一个对象,该对象具有可修改状态和只读(冻结)状态。派生自Freezable的类提供详细的更改通知,可以是不可变的,并且可以进行......
  • 关于.Net中的计时器及WPF中最适合的计时器问题
    .Net中,至少可以找出5个计时器类型:(1)System.Threading.Timer(2)System.Timers.Timer(3)System.Windows.Forms.Timer(4)System.Web.UI.Timer(5)System.Windows.Threading.Dis......
  • WPF 精修篇 拖拽 DragDrop
    WPF实现拖拽效果<Grid><Grid.ColumnDefinitions><ColumnDefinitionWidth="197*"/><ColumnDefinitionWidth="209*"/><Colum......
  • WPF 精修篇 依赖属性
    依赖属性使用场景1.希望可在样式中设置属性。2.希望属性支持数据绑定。3.希望可使用动态资源引用设置属性。4.希望从元素树中的父元素自动继承属性值。5.希望属性可进......