C#开发PACS医学影像处理系统(三):界面布局之工具栏

工具栏布局采用WPF中Grid作为容器,按钮采用自定义样式和图标,并采用Separator分割线:

XAML设计器代码:

其中  Style="{StaticResource ButtonStyle}"  按钮样式可以根据自身UI风格来使用自定义样式

<Button x:Name="BtnRotate"  Margin="5,0,0,0" Style="{StaticResource ButtonStyle}" HorizontalAlignment="Left" VerticalAlignment="Top"  Height="59"  Click="BtnRotate_Click"  >
                    <Button.Content>
                        <Grid>
                            <Image  Source="/PACS;component/Resources/旋转.png" Margin="-5,-1,-5,21" />
                            <TextBlock  Text="旋转" Foreground="White" Margin="0,32,0,0" />
                        </Grid>
                    </Button.Content>
                    <Button.ContextMenu>
                        <ContextMenu >
                            <MenuItem Header="自由旋转 (Ctrl X)" Click="MyRotate_Click" >
                                <MenuItem.Icon>
                                    <ImageBrush ImageSource="/PACS;component/Resources/自由旋转.png"/>
                                </MenuItem.Icon>
                            </MenuItem>
                            <MenuItem Header="角度回零"  Click="RotateClear_Click">
                                <MenuItem.Icon>
                                    <ImageBrush ImageSource="/PACS;component/Resources/角度归零.png"/>
                                </MenuItem.Icon>
                            </MenuItem>
                            <MenuItem Header="右旋转90°"  Click="RotateRight90_Click">
                                <MenuItem.Icon>
                                    <ImageBrush ImageSource="/PACS;component/Resources/右旋转90.png"/>
                                </MenuItem.Icon>
                            </MenuItem>
                            <MenuItem Header="左旋转90°" Click="RotateLeft90_Click">
                                <MenuItem.Icon>
                                    <ImageBrush ImageSource="/PACS;component/Resources/左旋转90.png"/>
                                </MenuItem.Icon>
                            </MenuItem>
                            <MenuItem Header="水平翻转"  Click="RotateHor_Click">
                                <MenuItem.Icon>
                                    <ImageBrush ImageSource="/PACS;component/Resources/水平翻转.png"/>
                                </MenuItem.Icon>
                            </MenuItem>
                            <MenuItem Header="垂直翻转" Click="RotateVer_Click">
                                <MenuItem.Icon>
                                    <ImageBrush ImageSource="/PACS;component/Resources/垂直翻转.png"/>
                                </MenuItem.Icon>
                            </MenuItem>
                        </ContextMenu>
                    </Button.ContextMenu>
                </Button>

需要注意的是,当我们点击按钮时弹出的菜单实际上是右键菜单ContextMenu,

所以要在按钮的点击事件中显示右键菜单并定位:

//设置关联按钮
BtnRotate.ContextMenu.PlacementTarget = BtnRotate;
//弹出时的位置在底部
BtnRotate.ContextMenu.Placement = PlacementMode.Bottom;
//显示菜单
BtnRotate.ContextMenu.IsOpen = true;

 C#开发PACS、RIS、3D医学影像处理系统系列教程 目录整理:

菜鸟入门篇

C#开发PACS医学影像处理系统(一):开发背景和功能预览

C#开发PACS医学影像处理系统(二):界面布局之菜单栏

C#开发PACS医学影像处理系统(三):界面布局之工具栏

C#开发PACS医学影像处理系统(四):界面布局之状态栏

C#开发PACS医学影像处理系统(五):查询病人信息列表

C#开发PACS医学影像处理系统(六):加载Dicom影像

C#开发PACS医学影像处理系统(七):读取影像Dicom信息

C#开发PACS医学影像处理系统(八):单元格变换

C#开发PACS医学影像处理系统(九):序列控件与拖拽

C#开发PACS医学影像处理系统(十):Dicom影像下载策略与算法

C#开发PACS医学影像处理系统(十一):Dicom影像挂片协议

C#开发PACS医学影像处理系统(十二):绘图处理之图形标记

C#开发PACS医学影像处理系统(十三):绘图处理之病灶测量

C#开发PACS医学影像处理系统(十四):处理Dicom影像窗宽窗位

C#开发PACS医学影像处理系统(十五):Dicom影像交叉定位线算法

C#开发PACS医学影像处理系统(十六):2D处理之影像平移和缩放

C#开发PACS医学影像处理系统(十七):2D处理之影像旋转和翻转

C#开发PACS医学影像处理系统(十八):Dicom使用LUT色彩增强和反色

C#开发PACS医学影像处理系统(十九):Dicom影像放大镜

医学影像三维篇

C#开发PACS医学影像三维重建(一):使用VTK重建3D影像

C#开发PACS医学影像三维重建(二):使用VTK进行体绘制

C#开发PACS医学影像三维重建(三):纹理映射与颜色传输

C#开发PACS医学影像三维重建(四):3D网格平滑效果

C#开发PACS医学影像三维重建(五):基于梯度透明的组织漫游

C#开发PACS医学影像三维重建(六):三维光源与阴影效果

C#开发PACS医学影像三维重建(七):空间测量与标注

C#开发PACS医学影像三维重建(八):VR体绘制

C#开发PACS医学影像三维重建(九):MPR三视图切面重建

C#开发PACS医学影像三维重建(十):MIP最小密度投影

C#开发PACS医学影像三维重建(十一):CPR曲面重建

C#开发PACS医学影像三维重建(十二):VE虚拟内镜技术

C#开发PACS医学影像三维重建(十三):基于人体CT值从皮肤渐变到骨骼的梯度透明思路

C#开发PACS医学影像三维重建(十四):基于能量模型算法将曲面牙床展开至二维平面

熟手进阶篇

C#处理医学影像(一):基于Hessian矩阵的血管肺纹理骨骼增强对比

C#处理医学影像(二):基于Hessian矩阵的医学影像增强与窗宽窗位

C#处理医学影像(三):基于漫水边界自动选取病灶范围的实现思路

C#处理医学影像(四):基于Stitcher算法拼接人体全景脊柱骨骼影像

胶片打印:

C#开发医学影像胶片打印系统(一):万能花式布局的实现思路

C#开发医学影像胶片打印系统(二):胶片打印机通讯

C#开发医学影像胶片打印系统(三):Pacs二维功能在排版中的应用

登峰造极篇

C#开发基于Python人工智能的肺结节自动检测

C#开发基于Python人工智能的脊柱侧弯曲率算法

C#开发基于Python机器学习的医学影像骨骼仿真动画

C#开发基于Python机器学习的术后恢复模拟

C#开发基于U3D的VR眼镜设备虚拟人体三维重建

C#开发基于全息投影的裸眼3D医学影像显示技术

免费下载

免费下载使用本教程PACS软件

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值