我的大脑被融化了,我是一个C#新手,我似乎找不到最好的方法来做这件事。
<ListView HorizontalAlignment="Left" Height="360" Margin="66,55,0,0"
VerticalAlignment="Top" Width="623" ItemsSource="{Binding COSPVM}">
<ListView.View>
<GridView x:Name="GridView1">
<GridViewColumn Header="Time Stamp" DisplayMemberBinding= "{Binding Path=TimeStamp}"/>
<GridViewColumn Header="COSP %" DisplayMemberBinding= "{Binding Path=COSP}"/>
</GridView>
</ListView.View>
</ListView>
上面是我的一个有两列的ListView的XAML代码,我想重点关注的是显示日期“时间戳”列的那个。成员在列表COSPVM中。
<GridViewColumn Header="Time Stamp" DisplayMemberBinding= "{Binding Path=TimeStamp}"/>
正如标题所暗示的,我希望用户能够在ListView中选择两个日期,并让ListView只显示这两个日期之间的项。最好的方法是什么?是创建一个组合框,还是让用户手动输入一些日期,然后以某种方式将其数据绑定到我的后台代码中?我很难理解这一点。
我曾经考虑过做一个ComboBox --单独的,只包含日期,你可以从中选择一两个日期,让它将这些日期DataBind到后面的代码中,然后用某种方法删除之前和之后的日期。尽管如此,即使这样,我也很难理解。
1条答案
按热度按时间xeufq47z1#
这看起来更像是一个固执己见的设计问题,但我会给予它我最好的机会。
通常,当按日期列过滤网格时,用户界面将在网格上方提供两个文本框(通常每个文本框都有一个日历工具),供用户选择过滤器的开始和结束日期,以及一个“过滤器”按钮。
如果我没理解错的话,您不希望用户能够选择任意日期,而是希望在网格中指定日期。
在这种情况下,我将使用2个附加列,其中包含作为开始/结束的单选按钮和一个用于应用过滤器的按钮,如下所示: