DevExpress WPF Subscription拥有120+个控件和库,将帮助您交付满足甚至超出企业需求的高性能业务应用程序。通过DevExpress WPF能创建有着强大互动功能的XAML基础应用程序,这些应用程序专注于当代客户的需求和构建未来新一代支持触摸的解决方案。 无论是Office办公软件的衍伸产品,还是以数据为中心的商业智能产品,都能通过DevExpress WPF控件来实现。
问题:
从v19.1开始, 格控件使用新的FilterEditorControl。UseLegacyFilterEditor设置为True,从而可以触发FilterEditorCreated事件。 如果要自定义新的FilterEditorControl,是否还有另一个事件可以使用/p>
希望能够创建由DxGrid控件使用的自定义FilterEditorControl对话框表单,使用更新的FilterEditorControl时,如何完成利用 格引发的事件来拦截创建的旧版FilterControl并将其注入自定义形式/p>
解决方案:
要完成此任务,可以使用TableView的FilterEditorDialogServiceTemplate属性,该属性将允许您重新定义FilterEditorContol的默认对话框服务。 此代码段演示了默认实现:
XAML
<dxg:TableView.FilterEditorDialogServiceTemplate><DataTemplate xmlns_dx="http://schemas.devexpress.com/winfx/2008/xaml/core"xmlns:dxfuit="http://schemas.devexpress.com/winfx/2008/xaml/core/filteringui/themekeys"xmlns:dxn="http://schemas.devexpress.com/winfx/2008/xaml/core/internal"><ContentControl><dx:DialogService DialogWindowStartupLocation="CenterOwner"ViewTemplate="{DynamicResource {dxfuit:FilterEditorThemeKey ResourceKey=FilterEditorDialogServiceViewTemplate}}"><dx:DialogService.DialogStyle><Style TargetType="{x:Type dx:ThemedWindow}"><Setter Property="dxn:ThemedWindowOptions.ShowOverPopups" Value="True" /><Setter Property="ShowInTaskbar" Value="False" /><Setter Property="WindowStyle" Value="ToolWindow" /><Setter Property="ShowIcon" Value="False" /><Setter Property="UseLayoutRounding" Value="True" /><Setter Property="Width" Value="500" /><Setter Property="Height" Value="350" /><Setter Property="MinWidth" Value="500" /><Setter Property="MinHeight" Value="350" /></Style></dx:DialogService.DialogStyle></dx:DialogService></ContentControl></DataTemplate></dxg:TableView.FilterEditorDialogServiceTemplate>
要显示自己的对话框按钮,您将需要启用ThemedWindowOptions.UseCustomDialogFooter属性:
XAML
<dx:DialogService.DialogStyle><Style TargetType="{x:Type dx:ThemedWindow}"><Setter Property="dxn:ThemedWindowOptions.UseCustomDialogFooter" Value="True"/><.../>
之后,您可以覆盖FilterEditorTemplate属性并定义自定义按钮。
XAML
<dxg:TableView.FilterEditorTemplate><DataTemplate xmlns_dxfui="http://schemas.devexpress.com/winfx/2008/xaml/core/filteringui"><Grid><Grid.RowDefinitions><RowDefinition/><RowDefinition Height="Auto"/></Grid.RowDefinitions><dxfui:FilterEditorControl x_Name="filterControl" /><dx:ThemedWindowDialogButtonsControl Grid.Row="1"><dx:ThemedWindowDialogButton Margin="6 0 0 0"Content="Cancel"DialogResult="Cancel"IsCancel="True" /><dx:ThemedWindowDialogButton Margin="6 0 0 0"Content="Test"DialogResult="OK"Command="{DXCommand Execute='@e(filterControl).ApplyFilter()'}"IsDefault="True" /></dx:ThemedWindowDialogButtonsControl></Grid></DataTemplate></dxg:TableView.FilterEditorTemplate>
DevExpress技术交流群3:700924826 欢迎一起进群讨论
标签:
声明:本站部分文章及图片源自用户投稿,如本站任何资料有侵权请您尽早请联系jinwei@zod.com.cn进行处理,非常感谢!