精华内容
下载资源
问答
  • WPF命名空间

    2020-12-18 21:39:32
    如下WPF在默认情况下带有三个命名空间。第一个通过链接的方式将命名空间加进来,是矢量的命名空间;第二个命名空间带有x的前缀,是xaml的命名空间。一个完整的XAML页面必须带有这两个命名空间。三个命名空间带有...

    WPF命名空间

    如下图,WPF在默认情况下带有三个命名空间。第一个通过链接的方式将命名空间加进来,是矢量的命名空间;第二个命名空间带有x的前缀,是xaml的命名空间。一个完整的XAML页面必须带有这两个命名空间。三个命名空间带有local的前缀,local代表着应用程序,加载的是本地的命名空间。
    在这里插入图片描述

    WPF命名空间里面的样式、模板、动画等资源。那么WPF命名空间里面的样式、模板、动画等资源要如何使用呢?是与Html那样使用Css或者Style标签吗?

    当然不是。既然是资源,就要通过资源引入命名空间里面的资源,WPF里面有专门的标签“Resources”用来引入命名空间里面的资源。
    如下图
    在这里插入图片描述

    WPF的样式不是如图HTML那样通过类或者id来指定,而是通过标签的属性来指定要操控的是哪个控件的样式。
    如下图:
    在这里插入图片描述

    上图中“TargetType”是Properties的一个属性,后面对应的值是控件。

    在WPF中,除了在App.xaml页面的“Application.Resources” 里面写的样式是给整个应用程序的所有页面的,其他页面的样式都是仅供一个页面使用,例如在MainWindow.xaml页面的“Window.Resources”里面写的样式是只有MainWindow.xaml页面能使用的样式。
    App.xaml页面:
    在这里插入图片描述

    但是如果只想让这个样式操控这一个控件,就要用“key”这个属性把“Resources”里面的样式私有化。然后把给到控件里面。
    如下例:
    代码图:
    在这里插入图片描述
    在这里插入图片描述

    效果图:
    在这里插入图片描述

    展开全文
  • WPF绘图

    2019-05-27 21:08:19
    开发工具与关键技术:WPF 形状绘图: 形状(Shape)是一个2D绘图类,位于System.Windows.Shape空间内, 包含最常用的绘图对象: Line直线、Rectangle矩形、Ellipse椭圆、Polygon多边形、Path路径; 图形对象...
    开发工具与关键技术:WPF
    

    形状绘图:
    形状(Shape)是一个2D绘图类,位于System.Windows.Shape空间内,
    包含最常用的绘图对象:
    Line直线、Rectangle矩形、Ellipse椭圆、Polygon多边形、Path路径;
    图形对象共有属性:
    Stroke说明如何绘制图形的轮廓,即所使用的画刷、StrokeThickness说明图形轮廓的粗细度、
    Fill说明如何绘制图形的内部。
    在这里插入图片描述
    几何绘图:
    图形绘图与几何绘图的区别:
    图形对象可独立存在的,可以独立绘制出具体需要的图形;
    几何图形对象没有具体的形体,它需要依赖于某一对象元素而存在,不能直接呈现在画板上。
    几何绘图包括5种对象:
    LineGeometry确定两点绘制一条直线、RectangleGeometry绘制矩形的几何图形、
    EllipseGeometry绘制椭圆形的几何图形、GeometryGroup组合几何对象,将多个单一的几何对象组合成一个几何对象、PathGeometry路径几何对象。

    下面示例多边形绘图:
    FillRule该枚举指定如何确定形状的内部填充规则:Nonzero均匀填充、EvenOdd边缘填充
    代码如下:

    <Window x:Class="WpfApplication.Window4"
            xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
            xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
            xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
            xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
            xmlns:local="clr-namespace:WpfApplication"
            mc:Ignorable="d"
            Title="绘图" Height="300" Width="300">
        <Grid>
            <Polygon Points="10,100 50,0 90,100 0,35 100,35" Fill="pink"
    Stroke="#0AAEF5" StrokeThickness="3" FillRule="Nonzero"
    Canvas.Left="150" Canvas.Top="20" Margin="87,10,88,142" />
            <Polygon Points="10,100 50,0 90,100 0,35 100,35" Fill="pink"
    Stroke="#0AAEF5" StrokeThickness="3" FillRule="EvenOdd"
    Canvas.Left="150" Canvas.Top="20" Margin="87,132,88,20" />
        </Grid>
    </Window>
    

    效果图如下:

    在这里插入图片描述

    展开全文
  • WPF三维图形

    2017-06-15 11:47:38
    wpf 三维图形基础 生成三维图形的基本思想是能得到一个物体的三维立体模型(model)。由于我们的屏幕只有二维,因而我们定义了一个用于给物体拍照的照相机(Camera)。拍到的照片其实是物体到一个平坦表面的投影。...
    wpf 三维图形基础
    生成三维图形的基本思想是能得到一个物体的三维立体模型(model)。由于我们的屏幕只有二维,因而我们定义了一个用于给物体拍照的照相机(Camera)。拍到的照片其实是物体到一个平坦表面的投影。这个投影由3D渲染引擎渲染成位图。引擎通过计算所有光源对3D空间中物体的投影面反射的光量,来决定位图中每个像素点的颜色。
    物体的每一个表面都有一种材质(material)和一个画刷(brush)。材质定义了一个具体角度的光的反射量,而画刷定义了表面的颜色。画刷可以是一种单纯的颜色,也可以是渐变的,甚至可以是一幅图片,这些称为纹理(texture)。
    wps_clip_image-1450
    一个三角形的世界
    在3D图形的世界里,所有物体都被描述成为一系列三角形的集合。可为什么是三角形呢?这是因为三角形是用来描述平面最小的几何体。在场景中,渲染引擎可以计算出每一个三角形的颜色,取决于它的材质和它与光线的角度。
    假如我们用矩形来构建我们这个世界,并且这些点不一定在同一平面上,这种表面计算和渲染起来将会变得更复杂。
    3D物体的一个表面称为一个网格(mesh)。一个网格被定义为许多3D点。这些点成为顶点(vertices)。这些顶点通过环绕方式连接起来来形成三角形。每一个三角形有个正面和反面,只有正面才会被渲染。三角形的正面可以通过点的环绕顺序来确定。WPF采用逆时针的环绕方式。你可以通过一个简单的“ 右手定则”来帮助记忆。也就是说,如果合上你的右手并且竖起大拇指,让你的四指顺着逆时针方向,那么大拇指指示方向便是三角形的正面。
    wps_clip_image-12263
    wps_clip_image-3557
    右手坐标系系统
    WPF 采用右手坐标系系统。也就是说,如果你伸出你的手指如下图所示,各手指指示的是三条坐标轴的正向。
    wps_clip_image-17140
    3D场景中的元素
    1.Viewport3D
    这个viewport是建立连接2D和3D世界大门的一个控件。
    2.Camera
    每一个3D场景都有一个摄像机。摄像机定义了Position,LookDirection和UpDirection属性。WPF支持正交(orthographical )和透视(perspective )摄像机。
    3.3D Models
    一个3D模型定义了场景中的一个物体。它包含一个Geometry对象 ,这个对象是一个网格,和一个材质(Material )对象,材质具有漫反射(diffuse),镜面(specular )或放射(emmisive )几种类型。材质本身具有一个画刷。
    4.Lights
    没有光源你将什么也看不到。因此我们需要在我们的场景当中至少放置一个光源来照亮我们的模型。WPF支持各种不同的光源,比如:
    AmbientLight (自然光)
    DirectionalLight (方向光)
    PointLight (点光源)
    SpotLight (聚光源)
    Hello 3D-World – 一个简单的立方体  
    展开全文
  • WPF趣味绘图

    2019-05-27 21:41:37
    WPF中绘图有两种方式:形状绘图和几何绘图。 1、形状绘图:形状(Shape)是一个2D绘图类,位于System.Windows.Shape空间内,最常使用的绘图对象有:Line直线、Rectangle 矩形、Ellipse 椭圆、Polygon 多边形、Path ...

    形状绘图和几何绘图

    在WPF中绘图有两种方式:形状绘图和几何绘图。
    1、形状绘图:形状(Shape)是一个2D绘图类,位于System.Windows.Shape空间内,最常使用的绘图对象有:Line直线、Rectangle 矩形、Ellipse 椭圆、Polygon 多边形、Path 路径。
    图形对象共有属性:
    Stroke:说明如何绘制图形的轮廓,即所使用的画刷
    StrokeThickness:说明图形轮廓的粗细度
    Fill:说明如何绘制图像的内部
    指定图形的坐标和顶点的数据属性,以与设备无关的像素来度量

    2、几何绘图
    图形对象可以独立存在的,可以是独立绘制出具体需要的图形
    几何图形对象没有具体的形状,它需要依赖于某一对象元素而存在,不能直接呈现在画板上
    几何绘图包括5种对象:
    LineGeometry:确定两点绘制一条线
    RectangleGeometry:绘制矩形的几何图形
    EllipseGeometry:绘制椭圆形的几何图形
    GeometryGroup:组合几何对象,将多个单一的几何对象组合成一个几何对象
    PathGeometry:路径几何对象

    结合以上两种绘图,随性制作了个比较抽象的图形:
    在这里插入图片描述

    以下是代码块:

    <Window x:Class="绘图_形状绘图和几何绘图_.MainWindow"
            xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
            xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
            xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
            xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
            xmlns:local="clr-namespace:绘图_形状绘图和几何绘图_"
            mc:Ignorable="d"
            MaxWidth="1320"
            ResizeMode="NoResize"
            WindowStartupLocation="CenterScreen"
            Title="MainWindow" Height="768" Width="1320">
        <!--栈式面板布局-->
        <Grid>
            <Grid.RowDefinitions>
                <RowDefinition/>
                <RowDefinition/>
            </Grid.RowDefinitions>
            <!--形状绘图-->
            <StackPanel Grid.Row="0" Orientation="Horizontal" HorizontalAlignment="Center" VerticalAlignment="Stretch" Margin="21,19,-36.4,349.4" Grid.RowSpan="2">
                <!--Line直线-->
                <Line X1="0" Y1="0" X2="100" Y2="100"  Stroke="Red" StrokeThickness="17"  
                	StrokeStartLineCap="Round" StrokeEndLineCap="Round"/>
                <Rectangle  Stroke="Red" StrokeThickness="9" Width="75" StrokeStartLineCap="Triangle" StrokeEndLineCap="Triangle" Fill="Blue" RadiusX="30" RadiusY="30" Margin="0,0,0,196.6" RenderTransformOrigin="0.5,0.5">
                    <Rectangle.RenderTransform>
                        <TransformGroup>
                            <ScaleTransform/>
                            <SkewTransform/>
                            <RotateTransform Angle="-320.348"/>
                            <TranslateTransform/>
                        </TransformGroup>
                    </Rectangle.RenderTransform>
                </Rectangle>
                <Ellipse StrokeStartLineCap="Triangle" StrokeEndLineCap="Triangle" Stroke="Beige" StrokeThickness="7" Width="777" Margin="0,0,0,34.6">
                    <Ellipse.Fill>
                        <LinearGradientBrush  StartPoint="0,0" EndPoint="1,1">
                            <!--红 橙 黄 绿 青 蓝 紫-->
                            <GradientStop Color="Red" Offset="0"/>
                            <GradientStop Color="Orange" Offset="0.2"/>
                            <GradientStop Color="Yellow" Offset="0.4"/>
                            <GradientStop Color="Green" Offset="0.6"/>
                            <GradientStop Color="Blue" Offset="0.8"/>
                            <GradientStop Color="Violet" Offset="1"/>
                        </LinearGradientBrush>
                    </Ellipse.Fill>
                </Ellipse>
                <!--Rectangle矩形-->
                <!--Ellipse椭圆-->
                <Rectangle  Stroke="Red" StrokeThickness="9" Width="159" StrokeStartLineCap="Triangle" StrokeEndLineCap="Triangle" Fill="Blue" RadiusX="30" RadiusY="30" Margin="0,0,0,44.6" RenderTransformOrigin="0.5,0.5">
                    <Rectangle.RenderTransform>
                        <TransformGroup>
                            <ScaleTransform/>
                            <SkewTransform/>
                            <RotateTransform Angle="-129.312"/>
                            <TranslateTransform/>
                        </TransformGroup>
                    </Rectangle.RenderTransform>
                </Rectangle>
                <!--Rectangle矩形-->
                <Line X1="0" Y1="200" X2="100" Y2="100" Stroke="Red" StrokeThickness="17"  
                	StrokeStartLineCap="Round" StrokeEndLineCap="Round" Margin="0,-101,0,-0.4"/>
                <!--Polygon多边形-->
                <!--Polyline多线形-->
                <Ellipse StrokeStartLineCap="Triangle" StrokeEndLineCap="Triangle" Stroke="Beige" StrokeThickness="20" Width="76"  Margin="-900,93,0,146.6">
                    <Ellipse.Fill>
                        <LinearGradientBrush  StartPoint="0,0" EndPoint="1,1">
                            <!--红 橙 黄 绿 青 蓝 紫-->
                            <GradientStop Color="Red" Offset="0"/>
                            <GradientStop Color="Orange" Offset="0.4"/>
                            <GradientStop Color="Yellow" Offset="0.2"/>
                            <GradientStop Color="Green" Offset="0.6"/>
                            <GradientStop Color="Yellow" Offset="0.8"/>
                            <GradientStop Color="Violet" Offset="1"/>
                        </LinearGradientBrush>
                    </Ellipse.Fill>
                </Ellipse>
                <Ellipse StrokeStartLineCap="Triangle" StrokeEndLineCap="Triangle" Stroke="Beige" StrokeThickness="20" Width="76"  Margin="-1800,93,0,146.6">
                    <Ellipse.Fill>
                        <LinearGradientBrush>
                            <GradientStop Color="#FFD43CE0" Offset="0.006"/>
                            <GradientStop Color="#FFC64DD0" Offset="0.572"/>
                            <GradientStop Color="#FFCD4FE3" Offset="0.092"/>
                            <GradientStop Color="#FF6C6DE7" Offset="1"/>
                            <GradientStop Color="#FFEB88DA" Offset="0.612"/>
                            <GradientStop Color="#FFE0D53C" Offset="0.754"/>
                            <GradientStop Color="#FF4BE17D" Offset="0.228"/>
                        </LinearGradientBrush>
                    </Ellipse.Fill>
                </Ellipse>
                <!--路径绘图-->
                <Path Stroke="Red" StrokeThickness="3" Data="M 33,10 C 10,210 60,3 170,175" Margin="-750,100,0,142.4" RenderTransformOrigin="0.5,0.5" Stretch="Fill" Width="592.4">
                    <Path.RenderTransform>
                        <TransformGroup>
                            <ScaleTransform ScaleX="-1"/>
                            <SkewTransform/>
                            <RotateTransform/>
                            <TranslateTransform/>
                        </TransformGroup>
                    </Path.RenderTransform>
                </Path>
                <Rectangle Width="100" Height="100" Fill="Blue" Stroke="Red" StrokeThickness="3" RadiusX="30" RadiusY="100"></Rectangle>
            </StackPanel>
            <!--几何绘图-->
            <StackPanel Orientation="Horizontal" Grid.Row="1">
                <Path Stroke="Red" StrokeThickness="3" Data="M -33,-10 C -10,-210 -60,-3 -170,-175" Margin="300 200 0 0" />
                <Rectangle Width="94" Fill="AntiqueWhite" Stroke="Gray" StrokeThickness="3" RadiusX="30" RadiusY="100" Margin="210,-274,0,583.8" RenderTransformOrigin="0.5,0.5">
                    <Rectangle.RenderTransform>
                        <TransformGroup>
                            <ScaleTransform/>
                            <SkewTransform/>
                            <RotateTransform Angle="0.534"/>
                            <TranslateTransform/>
                        </TransformGroup>
                    </Rectangle.RenderTransform>
                </Rectangle>
                <Ellipse Fill="Yellow" Height="100" Width="200" StrokeThickness="2" Stroke="Red" Margin="210,-300,0,567.8"></Ellipse>
            </StackPanel>
            <Ellipse Fill="Pink" StrokeThickness="2" Stroke="Red" Margin="471,234,685.6,78.6" RenderTransformOrigin="0.5,0.5">
                <Ellipse.RenderTransform>
                    <TransformGroup>
                        <ScaleTransform/>
                        <SkewTransform/>
                        <RotateTransform Angle="-173.722"/>
                        <TranslateTransform/>
                    </TransformGroup>
                </Ellipse.RenderTransform>
            </Ellipse>
        </Grid>
    </Window>
    

    趣味绘图制作完成。

    展开全文
  • WPF的形状绘图

    千次阅读 2019-06-10 08:26:46
    位于System.Windows.Shape空间内 常用绘图对象:Line直线,Rectangle矩形,Ellipse椭圆,Polygon多边形,Path路径 图形对象共有属性: Stroke:绘制图形轮廓的刷 StrokeThickness:图形轮廓的画笔粗细 Fill:图形...
  • 总体概括了JVM的内存模型0x01:程序计数器(Program Counter Register) 程序计数器(Program Counter Register)是一块较小的内存空间,它可以看作是当前线程所执行的字节码的行号指示器。在虚拟机概念模型里...
  • 原文:WPF设计の刷(Brush)  一、什么是刷  刷是是一种渲染方式,用于填充图形形状,如矩形、椭圆、扇形、多边形和封闭路径。在GDI+中,刷分为以下几种:SolidBrush,TextureBrush,HatchBrush,...
  • Transform类位于命名空间System.Windows.Media下。在WPF中Transform类被广泛应用于绘图元素的变换。作为大部分可视化控件的基类,UIElement类具有这样的静态依赖属性: // System.Windows.UIElement public ...
  • WPF下有两种图片合成的方式,一种还是用原来C#提供的GDI+方式,命名空间是System.Drawing 和 System.Drawing.Imaging,另一种是WPF中新添加的API,命名空间是 System.Windows.Media 和 System.Windows.Media....
  • !... ...—————————————————————————————— ...错误1:未能找到类型或命名空间名称...好像是缺少using指令,上网搜了下graphics和font需要using什么,搜不到,希望有WPF的高人可以指点小弟
  • WPF开发教程 ----WPF C# 编程 界面开发(很不错)

    千次下载 热门讨论 2010-07-25 18:54:00
    5. XAML命名空间和命名空间映射 90 6. WPF名称范围 92 WPF控件开发 95 1. WPF控件开发之控件概述 95 2. 使用XAML创建按钮 103 3. WPF控件库之BUTTON 114 4. WPF控件库之MENU 115 5. WPF控件库之LABLE 119 6. WPF控件...
  • WPF开发教程.doc

    2019-07-02 23:18:19
    5. XAML命名空间和命名空间映射 90 6. WPF名称范围 92 WPF控件开发 95 1. WPF控件开发之控件概述 95 2. 使用XAML创建按钮 103 3. WPF控件库之BUTTON 114 4. WPF控件库之MENU 115 5. WPF控件库之LABLE 119 6. WPF控件...
  • 课程回顾如何学好基础知识?1.理解加练习2.构建思维导图记忆3.重复,然后说出来基础知识1.直线的斜率直线方向的概念,1)方向向量 (在空间向量中... 张图,出可行域(数形结合)2. 找出目标函数的几何意义,利用...
  • WPF中的LinearGradientBrush

    千次阅读 2010-04-06 02:30:00
    该类继承自GradientBrush,WPF中的刷都位于System.Windows.Media命名空间下要了解WPF中的刷的简单继承关系请看http://blog.csdn.net/johnsuna/archive/2007/09/04/1772358.aspx 这是Brush 类的微软官方的开发...
  •  2.3 命名空间   2.4 属性元素   2.5 类型转换器   2.6 标记扩展   2.7 对象元素的子元素   2.7.1 内容属性   2.7.2 集合项   2.7.3 更多类型转换   2.8 编译:将XAML与过程式代码混合...
  • WPF开发教程(中文)PDF版

    热门讨论 2011-08-05 13:35:21
    5. XAML命名空间和命名空间映射 90 6. WPF名称范围 92 WPF控件开发 95 1. WPF控件开发之控件概述 95 2. 使用XAML创建按钮 103 3. WPF控件库之BUTTON 114 4. WPF控件库之MENU 115 5. WPF控件库之LABLE 119 6. WPF控件...
  • WPF编程宝典 part1

    2015-07-20 23:33:59
    第1章 WPF概述 3 1.1 Windows图形演化 3 1.1.1 DirectX:新的图形引擎 4 1.1.2 硬件加速与WPF 4 1.2 WPF:高级API 4 1.3 分辨率无关性 5 1.3.1 WPF单位 6 1.3.2 系统DPI 7 1.3.3 位图和矢量图形 9 1.4 WPF体系结构 ...
  • 近日清华大学出版社出版了《WPF和Silverlight项目设计实例》一书,这是2011年出版的《基于Expression Blend4中文版 WPF和Silverlight项目设计基础》的后续版。本书列举的实例是“设计基础”书的补充和深化,实例涉及...
  • 深入浅出WPF完整版带配套源码 目录 写作缘起 WPF之What & Why 致谢 第一部分 深入浅出话XAML 第1章 XAML概览 1.1 XAML是什么 1.2 XAML的优点 第2章 从零起步认识XAML 2.1 新建WPF项目 2.2 剖析最简单的...
  • 第一部分是学习WPF开发的基础知识,包括XAML语言的详细剖析、WPF控件的使用、用户界面布局的介绍。第二部分是作为优秀WPF程序员所应掌握的知识,包括依赖对象和数据关联、路由事件与命令、数据模板与控件模板、绘图...
  • 先前条件:设置好数据库,需要三个文件CommandInfo.cs、DbHelperSQL.cs、myHelper.cs,需要修改命名空间...添加一个表的类User_test对应数据库的表,如下: User_test类: using System; using System.Col...
  • WPF的优势体现

    2018-11-24 17:11:42
    迁移自个人百度空间 --------------------------- 体现在如下几个方面 (1)文档的变革。之所以称其为“变革”,是因为它不仅可以使用传统的屏幕显示/打印文档(XPS),而且还可以使用 FlowDocument 标记来显示流...
  • WPF:DrawingObject (Halcon)

    千次阅读 2018-05-07 13:23:07
    本文翻译自Halcon中的实例(DrawingObjectsWPF)。此实例介绍了:存在一个*.hdev格式的图像处理文件,把整个图像处理过程导出为C#...3)进入XAML文件中: 3.1)添加Window的命名空间引用,设置窗体大小,及Loaded事...
  • Chart FX for WPF 拥有漂亮的2D动画、2D矢量图形、3D空间图形、3D动画等图表元素,可在几分钟内创建绚丽的图表应用。最新发布的8.1版扩展了图表统计功能,新增实时API等,图表交互性功能进一步提升。 >>查看详细...
  • 深入浅出WPF完整版(清晰扫描)

    热门讨论 2012-11-20 14:54:17
    谨以《深入浅出WPF》,呈现一种掌握WPF的轻松方式,分享一个微软技术粉丝的治学精神。深入之美 精辟分析WPF源代码,洞察功能背后隐藏的深刻设计理念,浅出之美 最浅显的生活案例,融化最抽象的高级概念。  分离之...
  • 一款非常好的WPF编程宝典2010 源代码

    热门讨论 2014-04-14 09:57:41
    第1章 WPF概述 1 1.1 理解Windows图形 1 1.1.1 DirectX:新的图形引擎 1 1.1.2 硬件加速与WPF 2 1.2 WPF:高级API 4 1.2.1 分辨率无关性 5 1.2.2 WPF的演化 9 1.2.3 Windows窗体将继续保留 11 1.2.4 DirectX...

空空如也

空空如也

1 2 3
收藏数 55
精华内容 22
关键字:

wpf画空间图