时间:2021-05-20
相信大家在阅读WPF相关GitHub开源项目源码时都会看见一串串这种数据
这种Geometry数据就是几何图形数据
有一种做法是使用ttf字体文件代替,不过使用ttf字体文件会出现下面几个缺点:
1、团队协作不便于管理
2、需要依赖特定平台
3、无法灵活使用
而使用Geometry的话,我们可以将这些几何图形数据存入资源字典ResourceDictionary
通过反射进行灵活使用,团队开发可共同维护
我们进入https:///官网,找到心仪的图标,点击F12将鼠标放在该图标区域,找到网页元素
Path标签内的d属性即Geometry数据
创建资源字典,并加入命名空间
将Geometry数据存入< Geometry x:Key="t_chart" o:Freeze="true" >< /Geometry >标签内
t_chart即资源名称key
可能会有小伙伴注意到了o:Freeze这个属性,下面是MSDN上的原文
A class that derives from Freezable gains the following features:
Special states: a read-only (frozen) state and a writable state.
Thread safety: a frozen Freezable object can be shared across threads.
Detailed change notification: Unlike other DependencyObject objects, a Freezable object provides change notifications when sub-property values change.
Easy cloning: the Freezable class has already implemented several methods that produce deep clones.
翻译后:
从Freezable派生的类具有以下功能:
特殊状态:只读(冻结)状态和可写状态。
线程安全:冻结的Freezable对象可以在线程之间共享。
详细的更改通知:与其他DependencyObject对象不同,Freezable对象在子属性值更改时提供更改通知。
易于克隆:Freezable类已经实现了几种产生深层克隆的方法。
随后在App.xaml中加入
<ResourceDictionary Source="Resources/Themes/Geometries.xaml" />这样我们就可以在全局的XAML代码中通过{StaticResource t_Demo}使用Geometry数据
那么肯定会有小伙伴问了,如果想使用MVVM前后台分离开发怎么办?(在C#代码中动态使用Geometry)
下面是反射加载Geometry的示例
将资源文件存入静态类中
使用资源字典(Geometry)LocalTheme.Dic["t_chart"],t_chart即资源字典中的key值
var chart = new HandyControl.Controls.TabItem(){ Header="图表", Content = xamlModel};chart.SetValue(IconElement.GeometryProperty, (Geometry)LocalTheme.Dic["t_chart"]);SetValue即设置附加属性
public void SetValue(DependencyProperty dp, object value);
中的value为Geometry
以上就是C# WPF如何反射加载Geometry几何图形数据图标的详细内容,更多关于WPF 反射加载图标的资料请关注其它相关文章!
声明:本页内容来源网络,仅供用户参考;我单位不保证亦不表示资料全面及准确无误,也不保证亦不表示这些资料为最新信息,如因任何原因,本网内容或者用户因倚赖本网内容造成任何损失或损害,我单位将不会负任何法律责任。如涉及版权问题,请提交至online#300.cn邮箱联系删除。
圆是中学时代必须要学习的几何图形,作圆的切线是几何绘图时常见的问题,圆的切线具有很多特性。几何画板作为专业的绘图工具,可以用来画各种几何图形,下面就一起学习几何
1、坚实的地基-几何图形的力量。几何图形在页面中往往能起到大梁的作用,也是网页内容最为常用的承载面板。这些图形合理的搭配和有效的穿插,能使页面除了信息传达外,更
几何画板是画几何图形的重要工具,为作图、教学等提供了方便。那么,几何画板如何画圆,如何改变圆的大小,如何改变圆线型大大小,如何填充圆的颜色;如何画圆相交、相切,
在图像上绘制几何图形#include#includeusingnamespacecv;Matsrc1,dst;voiddrawRectangle();voidd
在几何图形中总是不乏很多有规律的点或者图形。利用几何画板可以将点有规律的运动形成美丽的图案。下面就介绍用几何画板追踪中点轨迹的过程。更多教程尽在几何画板中文官网