类似于DevExpress控件的功能
这是DevExpress的winform筛选样式,如下:
这是DevExpress的wpf筛选样式,如下:
这是Excel的筛选样式,如下:
先看效果
本案例使用wpf原生控件封装,功能基本上都满足,只是颜色样式没有写,自己可以根据风格自定义,这个也不难,都是基础控件的样式,还可以在功能3里面自己拓展其他功能。
动态效果
以上效果只对“测试姓名”一列进行刷选,其他列都是同理,移植即可。
至于样式风格问题,可以参考之前的文章,对DataGrid控件进行美化,也都是原生开发
wpf中DataGrid的样式_wpf datagrid-CSDN博客
1.项目文件预览
总的来说,这个还是很简单的
2.UserControl1.xaml中的代码
<UserControl x:Class="WpfApp3.UserControl1"xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006" xmlns:d="http://schemas.microsoft.com/expression/blend/2008" xmlns:local="clr-namespace:WpfApp3"mc:Ignorable="d" d:DesignHeight="300" d:DesignWidth="500" ><Grid ><TabControl Width="200"><TabItem Header="功能1"><StackPanel><Button Width="50" Height="20" Margin="0,10" Content="倒序排序" Click="btnDescending"/><Button Width="50" Height="20" Content="正序排序" Click="btnAscending"/></StackPanel></TabItem><TabItem Header="功能2"><StackPanel Width="200"><TextBox x:Name="txtFilter" TextChanged="txtFilter_TextChanged"/><ListBox x:Name="lst" ItemsSource="{Binding }" SelectionMode="Single" ><ListBox.ItemTemplate><DataTemplate><StackPanel><CheckBox IsChecked="{Binding Chk}" Content="{Binding Name}" ></CheckBox></StackPanel></DataTemplate></ListBox.ItemTemplate></ListBox><StackPanel Orientation="Horizontal"><Button Content="确定选择" Margin="10,0" Click="btnOK"/><Button Content="清除选择" Click="btnClear"/></StackPanel></StackPanel></TabItem><TabItem Header="功能3"><StackPanel><TextBlock>其他功能</TextBlock></StackPanel></TabItem></TabControl></Grid>
</UserControl>
本文源码收费,需要源码请联系我。
本文来源:
wpf使用Popup封装数据筛选框--粉丝专栏-CSDN博客