WPF空心圆角combox
VS自带的控件总是觉得不够美观,而xaml语言提供了一个自己编写控件样式的可能性
效果图:
xaml代码:
<ComboBox.Resources><Style TargetType="{x:Type ComboBox}"><Setter Property="Width" Value="120"/><Setter Property="HorizontalAlignment" Value="Stretch"/><Setter Property="Template"><Setter.Value><ControlTemplate TargetType="{x:Type ComboBox}"><Border BorderBrush="White" BorderThickness="2" CornerRadius="22" Background="Transparent"><Grid><!--下拉箭头--><ToggleButton ClickMode="Press" Focusable="False" IsChecked="{Binding IsDropDownOpen, Mode=TwoWay, RelativeSource={RelativeSource TemplatedParent}}" Margin="12" MinWidth="10" MinHeight="0" Width="Auto" Foreground="White"><ToggleButton.Style><Style TargetType="{x:Type ToggleButton}"><Setter Property="MinWidth" Value="0"/><Setter Property="MinHeight" Value="0"/><Setter Property="Width" Value="Auto"/><Setter Property="Height" Value="Auto"/><Setter Property="Background" Value="Transparent"/><Setter Property="BorderBrush" Value="#00000000"/><Setter Property="BorderThickness" Value="2"/><Setter Property="Template"><Setter.Value><ControlTemplate TargetType="{x:Type ToggleButton}"><DockPanel Background="{TemplateBinding Background}" LastChildFill="False" SnapsToDevicePixels="True"><Border x:Name="Border" BorderBrush="{TemplateBinding BorderBrush}" BorderThickness="{TemplateBinding BorderThickness}" DockPanel.Dock="Right" ><Path Data="M0,0L3.5,4 7,0z" Fill="{TemplateBinding Foreground}" HorizontalAlignment="Center" VerticalAlignment="Center"/></Border></DockPanel><ControlTemplate.Triggers><Trigger Property="IsChecked" Value="True"/></ControlTemplate.Triggers></ControlTemplate></Setter.Value></Setter><Style.Triggers><Trigger Property="IsEnabled" Value="False"><Setter Property="Foreground" Value="{DynamicResource {x:Static SystemColors.ControlDarkBrushKey}}"/></Trigger></Style.Triggers></Style></ToggleButton.Style></ToggleButton><!--项内容--><ContentPresenter IsHitTestVisible="False" Content="{TemplateBinding SelectionBoxItem}" ContentTemplate="{TemplateBinding SelectionBoxItemTemplate}" ContentTemplateSelector="{TemplateBinding ItemTemplateSelector}" VerticalAlignment="Center" Margin="3" HorizontalAlignment="Stretch" /><TextBox x:Name="PART_EditableTextBox" HorizontalAlignment="Stretch" Focusable="True" Visibility="Collapsed" IsReadOnly="False"/><!--下拉显示面板HorizontalOffset:设置下拉面板的相对位置--><Popup HorizontalOffset="-1" Width="{TemplateBinding ActualWidth}"IsOpen="{TemplateBinding IsDropDownOpen}" Focusable="False" PopupAnimation="Slide"><Grid SnapsToDevicePixels="True" HorizontalAlignment="Stretch"><Border BorderThickness="0,0,0,0" BorderBrush="White" HorizontalAlignment="Stretch" CornerRadius="0" Background="White"/><ScrollViewer SnapsToDevicePixels="True" HorizontalAlignment="Stretch" ><StackPanel IsItemsHost="True" KeyboardNavigation.DirectionalNavigation="Contained" HorizontalAlignment="Stretch" /></ScrollViewer></Grid></Popup></Grid></Border></ControlTemplate></Setter.Value></Setter></Style></ComboBox.Resources><ComboBox.Background><LinearGradientBrush EndPoint="0,1" StartPoint="0,10"><GradientStop Color="White" Offset="0"/><GradientStop Color="White" Offset="1"/></LinearGradientBrush></ComboBox.Background><ComboBoxItem Content="管理员" Foreground="#FF505050" BorderThickness="0"/><ComboBoxItem Content="操作员" Foreground="#FF505050" BorderThickness="0" BorderBrush="White" Background="White"/></ComboBox>
WPF空心圆角combox相关推荐
- PhotoShop制作空心圆角矩形
PhotoShop制作空心圆角矩形 教程如下: 在线学习:PhotoShop制作空心圆角矩形 以上就是关于"PhotoShop制作空心圆角矩形"的全部内容.
- android 画空心矩形框,Android实现空心圆角矩形按钮的实例代码
搜索热词 页面上有时会用到背景为空心圆角矩形的Button,可以通过xml绘制出来. drawrable文件夹下bg_red_hollow_rectangle.xml android:shape=&q ...
- WPF 中设置Combox下拉框Text 显示值
最近在写一个WPF客户端的一个小程序,其中有个小需求如下: 展示下拉列表里面有树形结构 点击下拉子项时同时显示父级和子级文本 也就是说在DisplayMember 中有两种显示方式 下拉列表显示时,显 ...
- wpf 进度条两侧圆角_[原译]WPF绘制圆角多边形
介绍 最近,我发现我需要个圆角多边形.而且是需要在运行时从用户界面来绘制.WPF有多边形.但是不支持圆角.我搜索了一下.也没找到可行的现成例子.于是就自己做吧.本文描述了圆角多边形的实现,也包括如何用 ...
- WPF DataGrid控制Combox数据源问题
不管是WPF还是winform中,多个ComboBox 绑定同一个数据源时,选择其中一个ComboBox,其他的也跟着变成同一选项.原因是combobox绑定了同一个数据源,对数据源的操作导致了其他控 ...
- WPF 制作圆角按钮
在程序对应坐置插入以下代码,或是先拖一个按钮控件到窗体中,再替换对应的代码. 修改 CornerRadius="18,3,18,3" 就可以改变圆角大小 按钮效果: <Bu ...
- WPF 设置 圆角 例如Grid、Button、TextBox、PasswordBox
1.背景设置圆角: <Window x:Class="ESPCPS.MainWindow"xmlns="http://schemas.microsoft.com/w ...
- WPF中,Combox的SelectedItem属性绑定成功后,未能默认显示上一次选择的结果。
问题描述: Combox中,设定了绑定对象,但是在第一次进入时却没有显示上次选中的项. 1)查看SelectedItem对应绑定的值,也是有的(启动时,读取上次设置的结果,来初始化界面). ...
- 导出和导入JSON数据
In the previous articles, we studied the basic rules of SQL database design, created a database sche ...
最新文章
- 西霞口船业公司疑遭外商合谋欺诈
- 【Android 高性能音频】Oboe 开发流程 ( 检查 Oboe 音频流属性 | 开始播放 | 停止播放 | 关闭 Oboe 音频流 | 重新配置 Oboe 音频流属性 )
- String 课后作业2
- 【PC工具】Windows 上编辑树莓派(linux EXT)分区文件工具——Ext2Fsd
- ffmpeg实现摄像头拉流_[FFmpeg] 如何通过实时摄像头帧图片生成 rtmp 直播流?
- CAN2.0的标准帧和扩展帧格式
- C 如何对指针进行指定字节的偏置操作
- 数据分析告诉你为什么Apple Watch会大卖?
- OpenCV3学习(11.7) BRISK特征检测器及BRISK描述符
- 怎么增加服务器容量,新睿云服务器硬盘容量怎么增加?
- OpenCV图像轮廓提取
- incapsula加速教程
- 戴尔g7 linux,颜值高性能强大 戴尔G7游戏本评测详解
- 入门交互设计的4个步骤
- 传智播客python培训怎么样
- C++11 Type-rich编程
- Abaqus中C3D8R单元和C3D8I单元的区别
- LTE系统调试记录14:频谱感知模块——UE发送感知结果到BS进行处理
- python爬虫 关于加速乐(_jsl)
- 基于计算机视觉原理的自主足球机器人位置计算
热门文章
- 西农新版锐捷linux系统客户端联网方法
- 如何在Apple Watch上静音,管理和隐藏通知
- java攻击力与命中_JAVA写一个怪物的类,类中有属性姓名,攻击力,有打人的方法。...
- 微信小程序多选标签的实现(单选或者多选)
- Java开发技术总结!给2021的Java一些建议
- Python零基础入门01【计算机基础和环境搭建】
- 大数据助推数字经济时代到来
- Windows系统 Apple 注销账户 Revoke Token
- 【CSS】图片底部空白缝隙处理 ( 使用居中对齐 / 顶部对齐 / 底部对齐 | 将行内元素 / 行内块元素转为块级元素 )
- linux机器连接sql,在linux下连接MS SQL Server