【问题标题】:How to display members of two selected members in a ListView?如何在 ListView 中显示两个选定成员的成员?
【发布时间】:2022-12-11 10:54:50
【问题描述】:

我的大脑正在融化,我是 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 那些日期返回到后面的代码,然后以某种方式制作一种删除前后日期的方法。尽管如此,即使如此,我也很难全神贯注。

【问题讨论】:

    标签: c# wpf xaml data-binding


    【解决方案1】:

    这似乎更像是一个自以为是的设计问题,但我会尽力而为。

    通常,当按日期列过滤网格时,用户界面会在网格上方提供两个文本框(通常每个文本框都有一个日历工具),供用户选择过滤器的开始和结束日期,以及一个“过滤器”按钮.

    如果我理解正确,您不希望用户能够选择任意日期,您需要网格内的具体日期。

    在这种情况下,我会使用另外 2 个带有单选按钮的列作为开始/结束和一个按钮来应用过滤器,如下所示:

    【讨论】:

      猜你喜欢
      • 2023-04-10
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-08-03
      相关资源
      最近更新 更多