ListView是UI库在大多数现代操作系统中提供的图形屏幕控件或窗口小部件,用于以列表形式显示项目。
Android:使用 CursorAdapter 根据用户输入更新行布局
我目前正在开发一个应用程序,该应用程序在列表视图中显示来自 SQLiteDatabase 的数据。该列表视图使用自定义布局。我的意图是拥有三种不同的布局,具体取决于...
QT QML Listview 与 QInvokable 模型的问题
我对列表视图元素和 C++ AbstractListModel 的供应有问题。 如果我通过 qproperty 传递列表模型,列表条目将正确显示。 如果我通过
问题没有显示列表中选择的所有字段 我添加了移动字段,因此它也显示 移动字段未显示在相关列表上,事实上没有任何...
我正在使用 flutter 构建一个网络应用程序。就像在正常的 Web 开发中一样,我们可以用鼠标水平或垂直滚动页面,但在 Flutter Web 中,页面是垂直滚动而不是水平滚动......
我已经被这个问题困扰好几天了,但找不到解决的方法。为了了解更多关于 Android 开发的知识,我开始开发一个新手蓝牙聊天应用程序。测试时
WPF MVVM ListView 和 TextBox OnPropertyChanged 工作正常,但选项卡控件不行
过去几周,当我更改列表视图文本框中的值时,我很难解决在选项卡控件中进行更改的问题,反之亦然。 列表视图和文本框一切正常,但我不是...
如何通过带有 TextBox 作为 TreeViewItems 的 ListView 进行 TAB 操作?
所以我基本上有这个ListView,我想按Tab键并迭代我的TreeViewItems(最好只有我的TextBoxes) 所以我基本上有这个 ListView,我想按 Tab 并迭代我的 TreeViewItems(最好只有我的 TextBoxes) <ListView> <ListView.View> <GridView> <GridViewColumn Header="number" /> <GridViewColumn Header="Selector"> <GridViewColumn.CellTemplate> <DataTemplate> <TextBox Text="{Binding SelectorName}"/> </DataTemplate> </GridViewColumn.CellTemplate> </GridViewColumn> </GridView> </ListView.View> </ListView> 我看到的场景是第一次按下选项卡后,整个第一个 TreeViewItem 被选中,再次按下选项卡,第一个文本框被选中。最后,第三个选项卡从 TreeView 中移出到下一个控件,尽管还有更多的文本框我想在“标记”到下一个控件之前捕获它。 谢谢 编辑: 问题在这里得到了回答: 如何在 ListView 中通过 TextBox 进行 TAB 操作 查看KeyboardNavigation.TabNavigation附加属性 也许我遗漏了一些东西,但我找不到任何简单的方法来做到这一点,这里是你可以做什么的概述: <ListView.InputBindings> <KeyBinding Key="Tab" Command="{Binding GoToNextItem}" CommandParameter="{Binding RelativeSource={RelativeSource AncestorType=ListView}}" /> <KeyBinding Modifiers="Shift" Key="Tab" Command="{Binding GoToPreviousItem}" CommandParameter="{Binding RelativeSource={RelativeSource AncestorType=ListView}}" /> </ListView.InputBindings> <ListView.ItemContainerStyle> <Style TargetType="{x:Type ListViewItem}"> <EventSetter Event="Selected" Handler="ItemSelected" /> </Style> </ListView.ItemContainerStyle> <ListView.View> <GridView> <GridViewColumn Header="number" /> <GridViewColumn Header="Selector"> <GridViewColumn.CellTemplate> <DataTemplate> <TextBox Name="_tb" Text="{Binding SelectorName}"/> </DataTemplate> </GridViewColumn.CellTemplate> </GridViewColumn> </GridView> </ListView.View> 我在这里做的事情: 覆盖选项卡行为以触发命令来选择另一个项目 将事件处理程序添加到选定的事件以聚焦文本框 命名文本框,以便可以找到并聚焦它 代码: private readonly ICommand _GoToNextItem = new Command((p) => { var lv = p as ListView; if (lv.SelectedIndex == -1 || lv.SelectedIndex == lv.Items.Count - 1) { lv.SelectedIndex = 0; } else { lv.SelectedIndex++; } }); public ICommand GoToNextItem { get { return _GoToNextItem; } } private readonly ICommand _GoToPreviousItem = new Command((p) => { var lv = p as ListView; if (lv.SelectedIndex <= 0) { lv.SelectedIndex = lv.Items.Count - 1; } else { lv.SelectedIndex--; } }); public ICommand GoToPreviousItem { get { return _GoToPreviousItem; } } private void ItemSelected(object sender, RoutedEventArgs e) { var item = sender as ListBoxItem; (FindNamedChild(item, "_tb") as TextBox).Focus(); } public static object FindNamedChild(DependencyObject container, string name) { if (container is FrameworkElement) { if ((container as FrameworkElement).Name == name) return container; } var ccount = VisualTreeHelper.GetChildrenCount(container); for (int i = 0; i < ccount; i++) { var child = VisualTreeHelper.GetChild(container, i); var target = FindNamedChild(child, name); if (target != null) { return target; } } return null; } 这是非常粗略的,使用其中任何部分的风险由您自行承担。 (我认为,在不将选择带入其中的情况下,对焦也可以采用不同的方式完成) (Command类只是ICommand的通用实现,它采用在接口的Execute方法中执行的lambda) 在 GridViewColumn 和单元格模板上设置 IsTabStop="False"。现在应该只选择 选项卡更改时数据模板内的文本框。 试试这个: <ListView DataContext="List" IsTabStop="False" > <ListView.View> <GridView> <GridViewColumn Header="Name" /> <GridViewColumn Header="Selector"> <GridViewColumn.CellTemplate> <DataTemplate > <TextBox Text="{Binding Name}" /> </DataTemplate> </GridViewColumn.CellTemplate> </GridViewColumn> </GridView> </ListView.View> </ListView> 我来到这里是因为我有一个包含文本框的 UserControls ListView,并且我希望能够在列表中进行选项卡导航。这里的解决方案对我来说不起作用,但是,所做的只是将 ListView 更改为 ItemsControl。 UI 现在完全按照我的预期工作,并且根本不需要对代码进行任何更改。
C# WPF 逐行读取.txt 文件并将其存储到带有GridViewColumn 的listview [关闭]
我有一个 .txt 文件,其文本格式如下: 14:04:43 29.07.2014 JONAS-PC 的进程信息: 名称 Pid CPU Thd Hnd Priv CPU 时间 已用时间 闲置...
大家好,我正在使用自定义列表视图从服务器获取数据并在列表视图中显示。我能够获取数据并将其显示在列表视图中,但我不知道如何实现按钮的单击事件...
嗨我想在我的ListView中搜索,我写了一个适配器,在Activity中我有一个listView,EditText。当我删除搜索时,一切都正常工作:这是我的适配器: 我不知道我要做什么...
我有来自包含400++K数据的API的数据,当我搜索一些数据时,它可以工作,但只显示第1页上的数据此API每页包含10个数据 这是我的控制器,我想搜索...
WPF - 将 Listview 绑定为 rowdetailstemplate 的子元素
我需要了解如何在 RowDetailsTemplate 内绑定列表视图。 这是我的 XAML: 我需要了解如何在 RowDetailsTemplate 中绑定 listview。 这是我的 XAML: <Window x:Class="TestWPF.MainWindow" xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" xmlns:d="http://schemas.microsoft.com/expression/blend/2008" xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006" xmlns:local="clr-namespace:TestWPF" mc:Ignorable="d" Title="MainWindow" Height="450" Width="800"> <Grid> <DataGrid Name="TestDataGrid" AutoGenerateColumns="False"> <DataGrid.Columns> <DataGridTextColumn Header="Code" Binding="{Binding Code}" /> <DataGridTextColumn Header="Description" Binding="{Binding Description}"/> </DataGrid.Columns> <DataGrid.RowDetailsTemplate> <DataTemplate> <Border Background="Transparent" BorderBrush="White" BorderThickness="1" CornerRadius="15" Margin="10"> <Grid Margin="5"> <Grid.ColumnDefinitions> <ColumnDefinition/> <ColumnDefinition/> </Grid.ColumnDefinitions> <StackPanel Grid.Column="0"> <StackPanel Orientation="Horizontal"> <TextBlock Text="CurrentStyle: "/> <TextBlock Text="{Binding Cstyle}"/> </StackPanel> </StackPanel> <StackPanel Grid.Column="1" VerticalAlignment="Stretch"> <TextBlock Text="Available Styles"/> <ListView x:Name="styleList" Height="135" > <GridView> <GridViewColumn DisplayMemberBinding="{Binding sCode}" Header="Name"/> <GridViewColumn DisplayMemberBinding="{Binding sColor}" Header="Color"/> </GridView> </ListView> </StackPanel> </Grid> </Border> </DataTemplate> </DataGrid.RowDetailsTemplate> </DataGrid> </Grid> </Window> 这是我的隐藏代码: using System.Collections.Generic; using System.Windows; namespace TestWPF { /// <summary> /// Logica di interazione per MainWindow.xaml /// </summary> public partial class MainWindow : Window { public List<GridElement> GridList { get; set; } public MainWindow() { InitializeComponent(); GridList = new List<GridElement> { new GridElement { Code = "ABC", Description = "Description for ABC", Cstyle = "Current style ABC", AvailableStyles = new List<Styles> { new Styles() { sCode = "Styletest1-ABC", sColor = "blue" }, new Styles() { sCode = "Styletest2-ABC", sColor = "red" } } }, new GridElement { Code = "DEF", Description = "Description for DEF", Cstyle = "Current style DEF", AvailableStyles = new List<Styles> { new Styles() { sCode = "Styletest1-DEF", sColor = "white" }, new Styles() { sCode = "Styletest2-ABC", sColor = "black" } } } }; TestDataGrid.ItemsSource = this.GridList; } } public class GridElement { public string Description { get; set; } public string Code { get; set; } public string Cstyle { get; set; } public List<Styles> AvailableStyles { get; set; } } public class Styles { public string sCode { get; set; } public string sColor { get; set; } } } 但结果就是图中的样子。 这就是结果 我需要的是rowdetail中的listview根据我选择的主网格的行而变化。 因此,如果我单击第一行,我将看到列表视图中列出的 ABC 样式(即颜色,但显示什么并不重要),如果单击第二行,也会看到相同的样式。 谢谢您的帮助 解决方案 我报告我找到的问题解决方案,仅供参考: <ListView x:Name="styleList" Height="135" ItemsSource="{Binding AvailableStyles}" > <ListView.View> <GridView> <GridViewColumn DisplayMemberBinding="{Binding sCode}" Header="Name"/> <GridViewColumn DisplayMemberBinding="{Binding sColor}" Header="Color"/> </GridView> </ListView.View> </ListView> 您的代码几近完美。但是,发生这种情况是因为未设置 ListView 的 ItemsSource 属性,并且缺少 ListView.View 元素。以下是处理和解决此问题的方法。 绑定 ItemsSource 属性 ItemsSource 属性对于使用数据填充 ListView 至关重要。在您的情况下,您希望 ListView 显示每个 GridElement 的可用样式。通过将 ListView 的 ItemsSource 绑定到AvailableStyles 属性,您可以确保每行显示正确的数据。 通过设置 ItemsSource="{BindingAvailableStyles}",您可以告诉 ListView 使用当前 GridElement 中的AvailableStyles 集合作为其数据源。如果没有这个,ListView就没有数据可显示。 定义ListView.View ListView.View 属性对于定义要在 ListView 中显示的数据的布局和列是必需的。在本例中,GridView 用于定义 sCode 和 sColor 的列。 ListView.View 元素(特别是 GridView)定义 ListView 中每个项目的显示方式。它指定每个项目应显示两列:一列用于 sCode,一列用于 sColor。如果没有这个,ListView 将不知道如何渲染数据。 最终结果 最终的 WPF 将如下所示: <ListView x:Name="styleList" Height="135" ItemsSource="{Binding AvailableStyles}"> <ListView.View> <GridView> <GridViewColumn DisplayMemberBinding="{Binding sCode}" Header="Name"/> <GridViewColumn DisplayMemberBinding="{Binding sColor}" Header="Color"/> </GridView> </ListView.View> </ListView> 还有这样的应用程序: 我希望这有帮助!如果您还有任何疑问,请随时询问。
Android:OnItemClickListener 错误的视图位置
我有一个带有自定义底座适配器的列表视图。我还设置了一个 OnItemClickListener,尽管它被调用,但视图的位置似乎不正确。 我想在
刷新Listview simpleCursorAdapter始终为null
我有一个程序可以从 SQLLiteDB 填充列表视图。初始加载有效,但是当我编辑条目时,程序崩溃并且 simplecursorAdapter = null。 片段: 公开课
在观看了大量教程并执行完全相同的操作后,我的适配器仍然无法工作。 我的应用程序是一个类似论坛的应用程序,用户可以在其中发布论坛(问题),其他用户可以...
我在 jquery mobile 中的列表视图有问题。我想使用 JSON 从服务器加载一些数据,并用项目填充列表视图。效果很好。但是当我尝试对 CLI 做出反应时...
我正在构建一个 SwiftUI 应用程序,其中从 REST API 获取餐厅列表并显示在列表视图中。首次登录后,餐厅会正确列出,但注销后
我找不到这个听众。它存在吗? 比如我设置一键监听: ListView listCategories = (ListView) findViewById(R.id.listCategories); ArrayAdapter mAAdapte...
我的目标是逐步检索数据,而不是一次性检索全部数据。为此,我使用 ListView 构建器,当它到达当前列表的底部时,尝试添加其他元素要求...
将对象发送到 Xamarin 中的 ListView 并返回对象的属性
我的程序是一个搜索栏,它使用 Xamarin 中的 ListView 列出艺术家的姓名。现在我想更新我的程序,以便当单击艺术家的名字时,它会转到我正在显示的另一个页面