博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
给WPF示例图形加上方便查看大小的格子之完善版本
阅读量:6911 次
发布时间:2019-06-27

本文共 2008 字,大约阅读时间需要 6 分钟。

原文:

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

显示效果:
示例方格查看器
XAML代码:
<Canvas Width="752.009766" Height="1192.558594" xmlns=""
  xmlns:x="">
        <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>

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

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

你可能感兴趣的文章
CEF中JavaScript与C++交互
查看>>
unity3d绘画手册-------灯光之反射及各个参数解释
查看>>
深入理解程序的结构
查看>>
POJ1365 Prime Land【质因数分解】【素数】【水题】
查看>>
Java实现文件复制
查看>>
Spark修炼之道(基础篇)——Linux大数据开发基础:第三节:用户和组
查看>>
Linux下Power Management开发总结
查看>>
安装服务器安全狗教程
查看>>
使用CodePush实时更新 React Native 和 Cordova 应用
查看>>
jstree -- 使用JSON 数据组装成树
查看>>
VM 安装 linux Enterprise_R5_U4_Server_I386_DVD教程图解
查看>>
PHP怎么获取系统信息和服务器详细信息
查看>>
iOS开发如何学习前端(1)
查看>>
『科学计算』层次聚类实现
查看>>
selenium用jquery改变元素属性
查看>>
一个支付流程要考虑到哪些测试点?
查看>>
某书2018笔试题之薯券
查看>>
对request.getSession(false)的理解(附程序员常疏忽的一个漏洞)
查看>>
手机端仿ios的日期组件脚本一
查看>>
Appium做Android功能自动化测试
查看>>