开发者论坛

 找回密码
 注册 (请使用非IE浏览器)
查看: 6099|回复: 0

如何自定义DevExpress WPF外观

[复制链接]

0

精华

8

贡献

1768

赞扬

特约版主

帖子
583
软币
4524
在线时间
275 小时
注册时间
2019-2-21
发表于 2020-6-30 09:28:45 | 显示全部楼层 |阅读模式
通过DevExpress WPF Controls,您能创建有着强大互动功能的XAML基础应用程序,这些应用程序专注于当代客户的需求和构建未来新一代支持触摸的解决方案。
v20.1版本包含外观属性的扩展列表,这篇文章将为大家介绍外观定制的增强功能,您现在可以将它们集成到基于DevExpress-powered WPF应用程序中。
DateNavigator控件
现在,您可以为以下单元状态指定单元外观:
  • MouseOverState
  • DisabledState
  • InactiveState
  • FocusedState
  • SelectedState
  • TodayState
  • SpecialDateState
  • HolidayState
  • NormalState
下面的代码示例指定一个特殊的日期前景,并禁用当前日期的突出显示:
[XML] 纯文本查看 复制代码
<dxe:DateNavigator>[/size][/font][/color][/align]<dxe:DateNavigator.Appearance>
<dxe:DateNavigatorCellAppearance>
<dxe:DateNavigatorCellAppearance.SpecialDateState>
<dxe:DateNavigatorStateAppearance Foreground="#FF7200" BorderThickness="0"/>
</dxe:DateNavigatorCellAppearance.SpecialDateState>
<dxe:DateNavigatorCellAppearance.TodayState>
<dxe:DateNavigatorStateAppearance BorderBrush="White"/>
</dxe:DateNavigatorCellAppearance.TodayState>
</dxe:DateNavigatorCellAppearance>
</dxe:DateNavigator.Appearance>
</dxe:DateNavigator>

支持标准属性
v20.1扩展了支持以下标准自定义属性的控件列表:
  • Background / Foreground
  • BorderBrush
  • BorderThickness
  • CornerRadius
  • Margin / Padding
最近的主题(Office 2016 SE,Office 2019,VS 2017,VS 2019)现在为以下控件提供增强的模板:
  • Ribbon项目、页面、类别和组
  • 工具栏和工具栏项
  • 上下文菜单和上下文菜单项
  • SimpleButton,DropDownButton和SplitButton
受支持的外观设置使您可以在整个应用程序中快速自定义外观,或创建与众不同的单独UI元素。 例如,下面的代码段创建了一个橙色的操作按钮,您的用户将不会错过。
[XML] 纯文本查看 复制代码
<dx:SimpleButton Content="Simple button" Background="#FF7200" Foreground="White"
Padding="10" CornerRadius="5" BorderBrush="#505050" BorderThickness="3" …/>

Bar Triggers
DevExpress Ribbon中使用的工具栏项和工具栏是非可视化元素,它们在UI中生成可视副本,同一项目可以同时显示在多个位置。例如,下面的图像在功能区页面和快速访问工具栏区域中显示相同的项目:

由于工具栏项是非可视化元素,因此很难使用常规WPF触发器自定义关联的可视化状态。在v20.1中,我们为工具栏项目引入自定义触发器,这些触发器提供与常规WPF触发器相同的功能,但可以直接为工具栏项定义。
以下是根据检查状态来自定义BarCheckItems外观的方法:
[XML] 纯文本查看 复制代码
<dxb:BarCheckItem Content="Private" …>
<dxb:BarCheckItem.Triggers>
<dxb:ItemTrigger Property="IsChecked" Value="True">
<dxb:ItemSetter Property="Background" Value="#ffeb3b"/>
</dxb:ItemTrigger>
</dxb:BarCheckItem.Triggers>
</dxb:BarCheckItem>
<dxb:BarCheckItem Content="High Importance" …>
<dxb:BarCheckItem.Triggers>
<dxb:ItemTrigger Property="IsChecked" Value="True">
<dxb:ItemSetter Property="Background" Value="#d20f38"/>
<dxb:ItemSetter Property="Foreground" Value="White"/>
</dxb:ItemTrigger>
</dxb:BarCheckItem.Triggers>
</dxb:BarCheckItem>


DevExpress技术交流群2:775869749      欢迎一起进群讨论


回复

使用道具 举报

Archiver|手机版|小黑屋|开发者网 ( 苏ICP备08004430号-2 )
版权所有:南京韵文教育信息咨询有限公司

GMT+8, 2024-4-19 22:50

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表