WPF的ImageBrush是一个比较常见也比较复杂的笔刷,它继承自图块笔刷(TileBrush).使用图块画笔绘制区域涉及以下三个组成部分:内容.基本图块和输出区域.基本输出过程如下图所示: 其中,图块部分有Viewbox控制,输出区域有Viewport控制,它们默认情况下都是一个(0,0,1,1)的矩形,通过相对位置控制图象的输出.可以组合使用,下表就是一些简单的示例: Viewport="0,0,0.5,0.5" Viewbox="0,0,0.5,0.5" V
对于图表控件C1Chart for WPF,我们在添加数据,选择图表类型这些基本可视化数据展示后,经常需要通过标题.坐标轴单位标签等信息辅助说明图表对实际场景的意义.C1Chart for WPF并没有按照传统WinForm的设计思想,直接暴露属性接口来设置这些信息,而是使用WPF的设计思想实现这些功能的. 事实上,C1Chart for WPF完全支持这些自定义,而且更加灵活. 下面就给出这样一个例子,用来展示如何使用C1Chart for WPF完成以上功能. 添加自定义标题 通过X
原文:WPF动态加载3D 放大-旋转-平移 WavefrontObjLoader.cs 第二步:ModelVisual3DWithName.cs public class ModelVisual3DWithName:ModelVisual3D { public string Name { get; set; } public object Tag { get; set; } } 第三步:MainWindow.xmal <Grid x:Name="lay"&
第一步:新建WavefrontObjLoader.cs using System; using System.Collections.Generic; using System.Windows; using System.Windows.Media; using System.Windows.Media.Imaging; using System.Windows.Media.Media3D; using System.Globalization; using System.IO; namespa
原文:WPF中3D旋转的实现 关于3D旋转的原理,请看Daniel Lehenbauer的文章 <Rotating the Camera with the Mouse> http://viewport3d.com/trackball.htm 里面非常清楚的讲解了原理和方法,很受用. 相关代码: 2.1 Finding the Point on the Sphere private Vector3D ProjectToTrackball(Double width, Double he