listview 相关问题

ListView是UI库在大多数现代操作系统中提供的图形屏幕控件或窗口小部件,用于以列表形式显示项目。

具有最小约束的 NumberBox 的 ListView 在订购时会损坏值

考虑这个最小的例子; xml: 考虑这个最小的例子; xaml: <?xml version="1.0" encoding="utf-8" ?> <Window x:Class="NumberboxText.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:local="using:NumberboxText" xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006" Title="NumberboxText" mc:Ignorable="d"> <StackPanel Orientation="Vertical"> <Button Click="Button_Click">Sort</Button> <ListView ItemsSource="{x:Bind Items}"> <ListView.ItemTemplate> <DataTemplate x:DataType="local:TestItem"> <NumberBox Value="{x:Bind Current, Mode=TwoWay}" Minimum="{x:Bind Min}" /> </DataTemplate> </ListView.ItemTemplate> </ListView> </StackPanel> </Window> cs: using System; using System.Collections.Generic; using System.Collections.ObjectModel; using System.Collections.Specialized; using System.ComponentModel; using System.Diagnostics; using System.IO; using System.Linq; using System.Runtime.CompilerServices; using System.Runtime.InteropServices.WindowsRuntime; using Microsoft.UI.Xaml; using Microsoft.UI.Xaml.Controls; using Microsoft.UI.Xaml.Controls.Primitives; using Microsoft.UI.Xaml.Data; using Microsoft.UI.Xaml.Input; using Microsoft.UI.Xaml.Media; using Microsoft.UI.Xaml.Navigation; using Windows.Foundation; using Windows.Foundation.Collections; using Windows.Media.Capture.Frames; namespace NumberboxText; public class TestItem : INotifyPropertyChanged { private int _order; private int _min; private int _current; public event PropertyChangedEventHandler? PropertyChanged; public int Order { get => _order; set => SetProperty(ref _order, value); } public int Min { get => _min; set => SetProperty(ref _min, value); } public int Current { get => _current; set => SetProperty(ref _current, value); } protected void SetProperty<T>(ref T field, T value, [CallerMemberName] string propertyName = null) { field = value; PropertyChanged?.Invoke(this, new PropertyChangedEventArgs(propertyName)); } } public sealed partial class MainWindow : Window { public readonly ObservableCollection<TestItem> Items = []; public MainWindow() { this.InitializeComponent(); Items.Add(new TestItem { Order = 3, Min = 3, Current = 3 }); Items.Add(new TestItem { Order = 1, Min = 1, Current = 1 }); Items.Add(new TestItem { Order = 4, Min = 4, Current = 4 }); Items.Add(new TestItem { Order = 2, Min = 2, Current = 2 }); } private void Button_Click(object sender, RoutedEventArgs e) { for (var i = Items.Count - 1; i >= 0; i--) { for (var j = 1; j <= i; j++) { if (Items[j - 1].Order > Items[j].Order) { Items.Move(j - 1, j); } } } } } 当我单击排序按钮时,我得到了这个; 看起来列表视图试图就地更改数字框值,但由于Minimum约束而不能,导致值发生变化。 我是否应该认为这是一个需要报告的错误,或者有什么方法可以让这个工作成功? 您可以创建一个包装类,它接受项目本身和要排序的值。 public class ItemWrapper { public TestItem Item { get; set; } public int Value { get; set; } public ItemWrapper(TestItem item) { Item = item; Value = item.Order; // or any other property you want to track } } 然后用项目的包装类实例填充列表。 private void Button_Click(object sender, RoutedEventArgs e) { var wrappedItems = Items.Select(item => new ItemWrapper(item)).ToList(); 然后进行冒泡排序并清除原始项目列表并将列表添加到其中 for (var i = wrappedItems.Count - 1; i >= 0; i--) { for (var j = 1; j <= i; j++) { // Compare the Order property of the TestItem within the ItemWrapper if (wrappedItems[j - 1].Item.Order > wrappedItems[j].Item.Order) { // Swap the ItemWrapper objects var temp = wrappedItems[j - 1]; wrappedItems[j - 1] = wrappedItems[j]; wrappedItems[j] = temp; } } } Items.Clear(); // Add the sorted items back to the original collection foreach (var wrappedItem in wrappedItems) { Items.Add(wrappedItem.Item); } }

回答 1 投票 0

如何在Delphi中的TListView(OwnerData True)中使用复选框

我正在尝试在 Delphi 10.3.3 VCL 项目中使用 OwnerData=True 在 TListView 组件中实现复选框。 这是我迄今为止尝试过的一个最小示例: 过程 TForm1.FormCreate(发送...

回答 1 投票 0

Delphi中如何隐藏ListView中的项目?

我正在Delphi 10.3.3中开发VCL应用程序,需要暂时隐藏TListView中的一些行(TListItem)。我不想删除并重新添加项目,而是想让它们在...

回答 1 投票 0

Django ListView 不显示数据库中的数据,尽管已填充模型

我是 Django 新手,正在尝试创建一个简单的博客应用程序。我有一个 ListView 应该显示数据库中的所有博客文章,但模板显示一个空页面。我已经确认了

回答 1 投票 0

ListView 通过用户拖动调整大小 (VB.net)

我正在将公司的 VB6 程序转换为 VB.net,但我遇到了另一个愚蠢的小障碍。 旧程序有一个 ListView 停靠在应用程序屏幕的左侧。用户c...

回答 3 投票 0

C++ 列表视图工具提示

我在报告视图中有一个列表视图,我正在尝试显示每个项目不同的工具提示。 但我根本无法显示任何工具提示...... 这是我到目前为止所想到的: 案例

回答 4 投票 0

为什么我的 Flutter 应用程序在 ListView 中使用自定义小部件时会崩溃?

我正在 Flutter 中创建一个自定义小部件来显示包含一些动态内容的卡片。它本身工作得很好,但是当我将它添加到 ListView 中时,应用程序崩溃并显示“RenderBox was not la...

回答 1 投票 0

指定的演员无效(xamarin 表单)

这个完全相同的代码在一小时前运行得很好。 调整了一些东西,然后 ctrl+Z 回到这个状态 现在每次我在 Android 模拟器上运行它时,当我尝试加载...

回答 2 投票 0

ListView 的 Swift JSON 嵌套输出

我正在尝试显示结果的内容。 数据以 JSON 数组形式返回。 我创建了一个视图模型“股票”并想要访问“结果”。目前它编译了 bu...

回答 1 投票 0

Flutter:ListView 顶部出现意外的空间

我有以下源代码: @覆盖 小部件构建(BuildContext上下文){ 返回脚手架( 主体:自定义滚动视图( 控制器:滚动控制器, 条子: [ ...

回答 5 投票 0

valentina studio 表单设计如何以编程方式向列表视图添加值?

ListView 似乎仅设置为列出视图、查询、自定义(手动输入)列表中的项目。 像 listView.addItem() 这样的 QT 方法不起作用。 我该如何服用val...

回答 1 投票 0

动态更改 jQuery Mobile 列表视图中的图标

当我动态更改图标时,它不会反映页面上的更改,即使在标记中它已更改。 例子: 当我动态更改图标时,它不会反映页面上的更改,即使在标记中已更改。 示例: <ul data-role="listview" data-autodividers="true" data-filter="true" data-inset="true"> <li data-icon="check"><a href="#">Adam Kinkaid</a></li> <li data-icon="check"><a href="#">Alex Wickerham</a></li> <li data-icon="check"><a href="#">Avery Johnson</a></li> <li data-icon="check"><a href="#">Bob Cabot</a></li> <li data-icon="check"><a href="#">Caleb Booth</a></li> <li data-icon="check"><a href="#">Christopher Adams</a></li> <li data-icon="check"><a href="#">Culver James</a></li> </ul> $("li").tap(function() { //Alert the old icon alert($(this).jqmData("icon")); //Toggle $(this).jqmData("icon") == "false" ? $(this).jqmData("icon", "check") : $(this).jqmData("icon", "false"); //Alert the new icon alert($(this).jqmData("icon")); }); http://jsfiddle.net/Mc97V/ 我给你做了一个工作示例:http://jsfiddle.net/Gajotres/qgE6L/ $('#index').live('pagebeforeshow',function(e,data){ $("li").tap(function() { $(this).buttonMarkup({ icon: "edit" }); }); }); 我的解决方案是首先从锚子元素中删除 ui-icon... 类,然后将其设置为另一个。 例如,对于 ID 为“ElementId1”且图标类型为“check”的列表行,要将图标更改为“delete”: $("#ElementId1").children('a').first().removeClass('ui-icon-check'); $("#ElementId1" ).children('a').first().addClass('ui-icon-delete');

回答 2 投票 0

使用文本标签和键值将项目添加到列表视图

我正在尝试将项目添加到 ListView 控件。 我希望添加具有文本值(显示的)和选择时具有的隐藏键值的项目。 我尝试过以下代码: 是...

回答 3 投票 0

flutter 中的 Overscroll 指示器颜色不同?

ListView 的顶部和底部滚动指示器是否可以有不同的颜色? 我的 ListView 背景有一个颜色渐变,并希望它的顶部滚动指示器为

回答 2 投票 0

如何使用ControlTemplate设置ListViewItem的样式?

我是 WPF 新手,绑定和样式的整个世界非常令人困惑。 我已经为 ListViewItem 创建了默认 ControlTemplate 的副本: 我是 WPF 新手,绑定和样式的整个世界非常令人困惑。 我已经为 ListViewItem 创建了默认 ControlTemplate 的副本: <Window.Resources> <ControlTemplate x:Key="ListViewItemControlTemplate1" TargetType="{x:Type ListViewItem}"> ... </ControlTemplate> </Window.Resources> 然后我的 ListView 中有列,例如: <ListView x:Name="lstFiles"> <ListView.View> <GridView> <GridViewColumn x:Name="clmName" Header="Name" DisplayMemberBinding="{Binding Name}" /> </GridView> </ListView.View> </ListView> 如果我在设计器中添加新项目,我可以轻松应用该 ControlTemplate: <ListViewItem Content="ListViewItem1" Template="{DynamicResource ListViewItemControlTemplate1}"/> 但是,当使用 lstFiles.ItemsSource 将项目绑定到 ListView 时,如何使用该模板? 我认为您想覆盖列表视图项的样式。来自:如何覆盖ListViewItem样式? <ListView.ItemContainerStyle> <Style TargetType="ListViewItem" BasedOn="{StaticResource MaterialDesignListBoxItem}"> <Style.Resources> <ResourceDictionary Source="pack://application:,,,/MaterialDesignThemes.Wpf;component/Themes/MaterialDesignTheme.ListBox.xaml" /> </Style.Resources> <EventSetter Event="PreviewMouseLeftButtonDown" Handler="ListViewItem_PreviewMouseLeftButtonDown" /> </Style>

回答 1 投票 0

在具有可编辑子项的列表视图中正确处理子项编辑(或取消子项编辑)

简介: 我正在尝试使用可编辑子项来实现列表视图控件。对于项目/子项目的就地编辑,我使用编辑控件。 我相信我已经成功地正确编码放置...

回答 2 投票 0

excel vba 中的动态列表视图控件

有人愿意分享为运行时创建的列表视图控件创建单击事件处理程序所需的代码吗? 我可以创建列表视图控件并填充它,但不知道如何...

回答 2 投票 0

在列表视图中使用添加为树节点的子项目时显示添加为项目的图像

我花了很多时间尝试在列表视图中实现图像预览。我能实现的最好的结果是为列表视图中的每个项目重复相同的图像,因为下面的代码只会添加

回答 1 投票 0

在运行时缩放 ListView 项目 .NET MAUI

我在.NET MAUI中有一个ListView,我想要它,以便当单击ListView中的项目时,它会放大然后缩小。我已经设法获取每个模板化项目的 ViewCell,随后...

回答 1 投票 0

获取android中的帐户列表

我正在开发一个应用程序,我需要查看用户手机中的帐户列表。我已经执行了这段代码,它似乎工作得很好。我面临的唯一问题是我想获取 ac 列表...

回答 2 投票 0

© www.soinside.com 2019 - 2024. All rights reserved.