【发布时间】:2016-10-25 18:01:18
【问题描述】:
我有一个 searchButton 和 searchTextBox 并想用它们来搜索一个列表视图,我想要列表视图将其选择更改为在第一列中具有值的行,然后我只需滚动视图到选择.我的问题是访问列表视图中的元素并将它们与搜索文本框中的字符串进行比较,这是我作为列表视图所拥有的
<ListView x:Name="ctlist" HorizontalAlignment="Center" Height="400" Margin="0,0,0,0" VerticalAlignment="Center" Width="1000" Background="AntiqueWhite">
<ListView.ItemTemplate>
<DataTemplate>
<Grid Width="{Binding ElementName=ctlList, Path=ActualWidth }" Padding="0" Margin="0" >
<Grid.ColumnDefinitions>
<ColumnDefinition x:Name="adminID" Width="100"/>
<ColumnDefinition x:Name="adminPASS" Width="100" />
<ColumnDefinition Width="100" />
</Grid.ColumnDefinitions>
<TextBlock x:Name="adName" Text="{Binding Path=adminName}" Grid.Column="0" TextWrapping="Wrap" />
<TextBlock Text="{Binding Path= adminPass}" Grid.Column="1" TextWrapping="Wrap"/>
</Grid>
</DataTemplate>
</ListView.ItemTemplate>
</ListView>
如何循环浏览列表视图并将搜索框文本与行/列值进行比较?
【问题讨论】:
-
您能解释一下“我希望列表视图将其选择更改为在第一列中具有值的行,然后我只需滚动视图即可选择”是什么意思吗?
-
是的,所以如果我要显示数据,如在管理员名称和管理员密码列表中,如果超出列表视图容量,它将使用滚动条,所以如果我向下滚动到底部并选择一个项目并滚动回顶部,当我执行 ctlist.ScrollIntoView(ctlist.SelectedItem);它会将我滚动到所选项目,因此我希望在搜索时将列表选择更改为 adminName = searchtextbox 的位置,或者当我在列表视图中选择某些内容时,是否有办法直接访问这些项目
-
所以,如果我要进行搜索,它将选择项目,然后我可以滚动查看选择,那么我的主要问题是如何访问选择的行/列中的数据这样我就可以使用其他按钮/功能,如编辑/删除来操作数据