前言
一、 设置暗黑主题
利用MergedDictionaries配置,在已有的通用风格基础上添加Dark.Blue主题。代码如下:
< Application.Resources>
< ResourceDictionary>
< ResourceDictionary.MergedDictionaries>
< ResourceDictionarySource= “pack://application:,,,/Fluent;Component/Themes/Generic.xaml”/>
< ResourceDictionarySource= “pack://application:,,,/Fluent;component/Themes/Themes/Dark.Blue.xaml”/>
</ ResourceDictionary.MergedDictionaries>
</ ResourceDictionary>
</ Application.Resources>
运行一下:
主题已经变成了暗黑模式。
二、给Button增加图标
2.1、引入图片
在项目目录下增加Resources目录,把circle.png复制到Resources目录下。
在项目浏览器中把图片添加到项目,选择Resources目录,右键菜单:
选择Resources/circle.png
2.2、设置图片属性
选择图片,在属性面板中设置:
复制到输出目录:始终复制
生成操作:内容
按照上述步骤加入其他的图片。
2.3、Ribbon Button中使用图片
为Fluent:Button设置Icon属性,引用图片资源
<!–Tabs–>
< Fluent:RibbonTabItemHeader= “建模”>
< Fluent:RibbonGroupBoxHeader= “基本体”IsLauncherVisible= “False”>
< Fluent:ButtonHeader= “直线”Icon= “/Resources/line.png”Size= “Large”/>
< Fluent:ButtonHeader= “圆弧”Icon= “/Resources/arc3pts.png”Size= “Large”/>
< Fluent:ButtonHeader= “圆形”Icon= “/Resources/circle.png”Size= “Large”/>
</ Fluent:RibbonGroupBox>
</ Fluent:RibbonTabItem>
< Fluent:RibbonTabItemHeader= “设置”>
</ Fluent:RibbonTabItem>
运行一下:
三、增加Button响应消息
3.1、增加路由命令
定义RoutedCommand用于响应Button的点击事件。MainWindow.xaml.cs
publicpartialclassMainWindow
{
// 定义路由命令
publicstaticreadonlyRoutedCommand ExecuteCommand = newRoutedCommand( “Rapid”, typeof(MainWindow));
publicMainWindow( )
{
InitializeComponent;
// 绑定响应函数
CommandBindings.Add( newCommandBinding(ExecuteCommand, OnExecuteCommand));
}
privatevoidRibbonWindow_Loaded( objectsender, RoutedEventArgs e )
{
}
// 处理点击命令
privatevoidOnExecuteCommand( objectsender, ExecutedRoutedEventArgs e )
{
}
}
3.2、XAML里绑定Button绑定事件
Command: 绑定的命令
CommandParameter: 命令参数
MainWindow.xaml
< Fluent:ButtonHeader= “直线”Icon= “/Resources/line.png”Size= “Large”Command= “{x:Static local:MainWindow.ExecuteCommand}”CommandParameter= “line”/>
< Fluent:ButtonHeader= “圆弧”Icon= “/Resources/arc3pts.png”Size= “Large”Command= “{x:Static local:MainWindow.ExecuteCommand}”CommandParameter= “arc”/>
< Fluent:ButtonHeader= “圆形”Icon= “/Resources/circle.png”Size= “Large”Command= “{x:Static local:MainWindow.ExecuteCommand}”CommandParameter= “circle”/>
3.3、命令处理函数// 处理点击命令
privatevoidOnExecuteCommand( objectsender, ExecutedRoutedEventArgs e )
{
switch(e.Parameter.ToString)
{
case“line”:
{
varshape = SketchBuilder.MakeLine( newGPnt( 0, 0, 0), newGPnt( 10, 10, 0));
mView3d.ShowShape(shape, ColorTable.AliceBlue);
}
break;
case“arc”:
{
varshape = SketchBuilder.MakeArcOfCircle( newGPnt( 0, 0, 0), newGPnt( 10, 10, 0), newGPnt( 5, 15, 0));
mView3d.ShowShape(shape, ColorTable.AliceBlue);
}
break;
case“circle”:
{
varshape = SketchBuilder.MakeCircle( newGPnt( 0, 0, 0), 5, GP.DZ);
mView3d.ShowShape(shape, ColorTable.AliceBlue);
}
break;
}
}
运行一下,挨个Button点一遍:
四、综合建模爱心巧克力
一种实现方法:
由线生成爱心平面轮廓
轮廓填充成面
面拉伸成体
对体倒角
{
vararc1 = SketchBuilder.MakeArcOfCircle( newGPnt( 0, 2, 0), newGPnt( 10, 0, 0), newGPnt( 5, 5, 0));
vararc2 = SketchBuilder.MakeArcOfCircle( newGPnt( 0, 2, 0), newGPnt( -10, 0, 0), newGPnt( -5, 5, 0));
varbottomPt = newGPnt( 0, -12, 0);
varline1 = SketchBuilder.MakeLine( newGPnt( -10, 0, 0), bottomPt);
varline2 = SketchBuilder.MakeLine(bottomPt, newGPnt( 10, 0, 0));
varshapeList = newTopoShapeList;
shapeList.Add(arc1);
shapeList.Add(arc2);
shapeList.Add(line1);
shapeList.Add(line2);
varwire = SketchBuilder.MakeWire(shapeList);
varface = SketchBuilder.MakePlanarFace(wire);
varshape = FeatureTool.Extrude(face, 5, GP.DZ);
shape = FeatureTool.Fillet(shape, 1);
mView3d.ShowShape(shape, ColorTable.PaleVioletRed);
}
五、总结
varmesh = FontManager.Instance.CreateMesh( “情人节快乐!”);
varmaterial = MeshPhongMaterial.Create( “love-material”);
material.SetColor(ColorTable.OrangeRed);
varshape = newPrimitiveSceneNode(mesh, material);
mView3d.ShowSceneNode(shape);
– EOF –
点击标题可跳转
C# 实现抢红包算法
.NET 分库分表高性能:瀑布流分页
.NET Core 程序瘦身器发布,压缩程序尺寸到1/3
推荐关注「DotNet」,提升.Net技能
点赞和在看就是最大的支持??
声明:本站部分文章及图片源自用户投稿,如本站任何资料有侵权请您尽早请联系jinwei@zod.com.cn进行处理,非常感谢!