首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

UWP AutoGenerateProperty在DisplayMemberPathCollection中显示两个集合

基础概念

UWP(Universal Windows Platform)是微软推出的一个统一的平台,用于构建跨设备的应用程序。AutoGenerateProperty 是 UWP 中的一个特性,它允许开发者自动生成数据绑定的属性。DisplayMemberPath 是一个用于数据绑定的属性,它指定了从数据源中选择哪个属性来显示。

相关优势

  1. 简化代码:AutoGenerateProperty 可以减少手动编写属性的代码量,提高开发效率。
  2. 动态绑定:通过 DisplayMemberPath,可以动态地从数据源中选择要显示的属性,使界面更加灵活。

类型

  • AutoGenerateProperty:自动生成的属性。
  • DisplayMemberPath:用于指定数据绑定的显示路径。

应用场景

在 UWP 应用中,当需要从数据源中动态显示多个属性时,可以使用 AutoGenerateProperty 和 DisplayMemberPathCollection。

问题分析

当在 DisplayMemberPathCollection 中显示两个集合时,可能会遇到以下问题:

  1. 数据绑定错误:可能是由于数据源中的数据结构不正确,导致绑定失败。
  2. 显示重复:可能是由于绑定路径设置不当,导致显示了重复的数据。

解决方法

假设我们有一个数据源 items,其中包含两个集合 Collection1Collection2,我们希望在界面上分别显示这两个集合。

示例代码

代码语言:txt
复制
<Page
    x:Class="YourNamespace.MainPage"
    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"
    mc:Ignorable="d">

    <Grid Background="{ThemeResource ApplicationPageBackgroundThemeBrush}">
        <ListView x:Name="listView">
            <ListView.View>
                <GridView>
                    <GridViewColumn Header="Collection1" DisplayMemberBinding="{Binding Collection1}" />
                    <GridViewColumn Header="Collection2" DisplayMemberBinding="{Binding Collection2}" />
                </GridView>
            </ListView.View>
        </ListView>
    </Grid>
</Page>
代码语言:txt
复制
public sealed partial class MainPage : Page
{
    public ObservableCollection<Item> items { get; set; }

    public MainPage()
    {
        this.InitializeComponent();
        items = new ObservableCollection<Item>
        {
            new Item { Collection1 = "Value1", Collection2 = "ValueA" },
            new Item { Collection1 = "Value2", Collection2 = "ValueB" }
        };
        listView.ItemsSource = items;
    }
}

public class Item
{
    public string Collection1 { get; set; }
    public string Collection2 { get; set; }
}

参考链接

总结

通过上述示例代码,我们可以在 UWP 应用中使用 AutoGenerateProperty 和 DisplayMemberPathCollection 分别显示两个集合。确保数据源的结构正确,并且绑定路径设置正确,可以避免常见的数据绑定错误和显示重复的问题。

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

New UWP Community Toolkit

概述 UWP Community Toolkit 是一个 UWP App 自定义控件、应用服务和帮助方法的集合,能够很大程度的简化和指引开发者的开发工作,相信广大 UWPer 并不陌生。...UWP 做了完整的支持,可以自定义 markdown 解析器和渲染,保证流畅的 UI 体验,即使是低配置的硬件上使用复杂的 markdown 规则。...关于 MarkdownTextBlock 的完整文档,大家可以 MarkdownTextBlock XAML Control 查看。...收到通知时,将在任务栏动态显示发件人的联系人图片并且将播放声音,这表示“我的人脉”通知正在启动。...(因为是虚拟机做的测试,Windows 并没有激活。。 ? 某些情况下,编码为“我的人脉”通知的通知将改为显示为常规 Toast。

1.6K110
  • Windows Developer Day - Adaptive Cards

    卡片的制作者使用 JSON 或 SDK 类构建的方式来描述卡片内容,包括文本,按钮,图片,链接等; 卡片内容宿主程序完成渲染,宿主程序样式也是 JSON 或 SDK 类构建方式,样式包括内容大小,...通过 Nuget 方式 PM 添加包: Install-Package AdaptiveCards.Rendering.Uwp -Version 1.0.0 2....界面显示卡片: 把卡片内容显示界面的 Grid ,每次显示时,先清空前面的显示内容。 if (renderResult.FrameworkElement !...UWP SDK 的使用过程基本就是这样,非常的简单易上手。我们来看一下中间两个重要的类:AdaptiveCard 和 AdaptiveHostConfig....以及一些主要属性:Version(用于标识更新版本),Speak (表示卡片的朗读内容),FallbackText(后备文本),BackgroundImage(卡片背景图片),Actions(按钮的操作集合

    1.5K90

    理解 UWP 视图的概念,让 UWP 应用显示多个窗口(多视图)

    不过,总有一些特别的情况下我们需要用到不止一个窗口,那么 UWP 如何使用多窗口呢? ---- 为什么 UWP 需要多窗口?... CoreApplication/Application、CoreWindow/Window 之间的区别 一文,我描述了 UWP 视图的一些概念: CoreApplication 管理一个 UWP... 为了理解 UWP 的启动流程,我从零开始创建了一个 UWP 程序 一文,我们也能体会到 CoreApplication 和 CoreWindow 之间的关系,了解消息循环应用的作用。 ?...UWP 多窗口 了解到 UWP 视图的概念之后,严格意义上说,这一节的标题应该叫做 “UWP 多视图”。 我画了一个思维导图来描述它们之间的关系。...CoreApplication 有 Views 属性储存所有的 CoreApplicationView,我们可以使用此集合来管理多个视图。

    1.4K10

    UWP 和 WPF 不同,ListView 绑定的集合修改顺序时,UI 的刷新规则

    UWP 和 WPF 不同,ListView 绑定的集合修改顺序时,UI 的刷新规则 2017-10-20 00:14 ObservableCollection... 中有一个 Move 方法,而这个方法在其他类型的集合是很少见的。...UI 元素的焦点有没有变化,以便了解 UWP 或 WPF 是否将此 UI 元素移出过视觉树。 结果如下图: UWP ,移动数据的元素焦点没有改变,Hash 值也没有改变。 ?... UWP ,未被移动数据的元素 Hash 值没有改变。 ? WPF ,移动数据的元素焦点丢失,Hash 值已经改变。 ?...结论 UWP 比 WPF 对 ObservableCollection 的集合操作进行了更好的性能优化,添加、删除、移动时会重用之前创建好的控件。

    2.2K10

    New UWP Community Toolkit - RotatorTile

    Tick 事件不断按照某个方向去做平移动画,动画中不断更新当前显示元素为下一个元素,并不断相应中途的显示元素集合变化事件; 同时控件会响应 RotatorTile_SizeChanged 事件,根据新的尺寸去修改显示元素和容器的尺寸...的随机值会被作为轮播间隔使用;  RotationDelay - 轮播的间隔,时间修改时会触发 OnRotationDelayInSecondsPropertyChanged 事件; ItemsSource - 轮播内容集合的数据源...Start(); } } 接着来看 OnCurrentItemPropertyChanged(d, e) 方法的处理,主要处理逻辑 RotateToNextItem() : 首先判断是否有两个或者更多的元素...,如果没有则退出处理; 定义 Storyboard,动画时间是 500ms,方向和轮播的目标属性根据当前轮播的方向去计算; 动画结束时,开始准备下一个显示的元素; private void RotateToNextItem...总结 到这里我们就把 UWP Community Toolkit 的 RotatorTile 控件的源代码实现过程和简单的调用示例讲解完成了,希望能对大家更好的理解和使用这个控件有所帮助。

    63380

    dotnet 从入门到放弃的 500 篇文章合集

    Working tree has modifications git 上传当前分支 git 使用 VisualStudio 比较分支更改 git 修改commit日期为之前的日期 git 分支改名 git 合并两个仓库...WPF 对比 UWP 开发,需要知道的1000个问题 Visual studio C# 代码使用 NotNull visual Studio 无法调试,提示程序跟踪已退出 visual-studio-...如何拖动一个TextBlock的文字到另一个TextBlock win10 uwp 如何让 Page 继承泛型类 win10 uwp 如何让一个集合按照需要的顺序进行排序 win10 UWP 序列化...uwp 显示SVG win10 UWP 显示地图 win10 uwp 模拟网页输入 win10 uwp 横向 AppBarButton win10 uwp 毛玻璃 win10 uwp 气泡 win10... win10 uwp 设置 HttpClient 浏览器标识 win10 UWP 访问网页 win10 uwp 读写csv win10 uwp 读写XML win10 uwp 调试软件启动 win10

    10.4K20

    UWP ListView数据绑定

    制作UWP个人项目时需要用到数据绑定,网上的教程大都不全,特此记录下自己使用的方法。 绑定源 指定一个类用来保存数据,以我自己的项目为例,需要定义“邮件”类。...state = (STATE)reader[6].ToString().ToInt(); } /// /// 获取概要,用于显示...= new ObservableCollection(); 当UWP进行了页面跳转,即使使用GoBack()来返回,原页面也会重新加载,因此建议使用静态类来避免数据丢失,并且修改集合时也不需要获取...MainPage的实例 创建绑定 xaml文件头定义命名空间 由于我的Email类MailSystem_UWP.Bean下,因此定义该命名空间为local xmlns:local="using:MailSystem_UWP.Bean...state = (STATE)reader[6].ToString().ToInt(); } /// /// 获取概要,用于显示

    1.5K10

    win10 uwp 渲染原理 DirectComposition 渲染 例子创建工程如何写显示CompositionSurfaceBrush

    win8 的时候,微软提出了 DirectComposition ,这是一个新的方法。 软件的渲染一直都是两个阵营,一个是使用直接渲染模式。... UWP 可以通过下面几个方式显示界面 通过 xaml 或者后台新建控件显示。这是最推荐的方法,本文下面的方法是不推荐的,但是可以让大家知道原理。...那么是不是可以通过Composition显示元素,自己来写 UWP 框架。 开始告诉大家写 UWP 框架之前,先给大家一个简单的例子,如何应用 DirectComposition 。...从我的博客WPF 使用 SharpDX D3DImage 显示可以知道, WPF 使用 d2d 是比较难的,因为很难集合两个一个界面。但是 UWP 通过这个类就可以把底层渲染放在指定层级。...实际上刚才的函数最后调用就可以了。 现在的界面就是两个矩形 ?

    2.8K10

    Extensions in UWP Community Toolkit - Overview

    概述 UWP Community Toolkit  中有一个 Extensions 的集合,它们可以帮助开发者实现很多基础功能,省去自己造轮子的过程,本篇我们先来看一下 Extensions 的功能都有哪些...来看一下简单的代码示例: 我们使用两个 TextBlock 来显示实际绑定尺寸的宽度和高度,图一是 EnableActualSizeBinding 为 True 时的显示,图二时为 False 时的错误信息显示...设置为 Both;可以看到运行显示 test01 test03 这些元素的显示和设置是一致的。...我们来看一下简单的代码示例: 我们水平放置了两个按钮,Mouse.Cursor 分别设置为 UniversalNo 和 Wait,可以看到显示状态和设置的一致。...总结 到这里我们就把 UWP Community Toolkit 的 Extensions 的种类和简单的代码调用讲解完成了,希望这些扩展对大家开发 UWP 应用有所帮助,如果大家有更好用的扩展类,也欢迎大家给

    1.4K120

    Windows Community Toolkit 4.0 - DataGrid - Part02

    ; Nuget: Microsoft.Toolkit.Uwp.UI.Controls.DataGrid; 开发过程 首先再来看一下 Utilities 文件夹的代码结构: ?...DoubleUtil 该类的功能主要是判断两个 double 类型的值之间是否接近,大小关系等;这些方法中用到了一个 AreClose(v1, v2) 的方法,这个方法主要判断两个数值是否相近,计算方法是...,当两个值的差,除以两个值的绝对值和加10.0 的值小于 double epsilon 时,认为两个数值是接近的。...; EnsureMeasured - 控件被置于背景层时,需要计算尺寸; SuspendHandler - 暂停处理器的处理; 3. ...TypeHelper 该类是 DataGrid 控件的类型帮助类,主要功能是获取类型,属性信息,显示名等信息。这些方法都是较通用的方法,大家如果有兴趣,可以去详细查看代码,这里不做赘述。 5.

    57920

    使用三种方式实现弧形进度条

    UWP 的控件,不过代码没有很复杂,应该很轻松就能移植到 WPF: 但仔细想想,我实现过很多次圆形的进度条,这种弧形的进度条则没碰过。...这篇文章只介绍了怎么显示弧形及怎么显示进度,只有原理,没有具体实现一个弧形进度条控件。 2....这样才能实现需求的圆角: 顺便一提,这两个属性的类型是 PenLineCap 枚举,这个枚举的四个值分别代表以下几种形状: 3....StrokeDashArray 用于将边框变成虚线,它的值是一个 double 类型的有序集合集合的值指虚线每一段的长度,长度单位是边框值的宽度。...所以不是我研究回字有多少种写法,我只是遵循古法想把一种技术讲透而已。

    1.9K10

    【译】Visual Studio 2019 WPF & UWP 的 XAML 开发工具新特性

    创建的数据绑定,以绑定包含公共属性,元素名称,索引属性路径(集合),附加属性和强制转换属性的路径。...以前,该功能会显示附件中正在运行的应用程序的完整实时可视化树,而无法通过过滤器仅查看您在应用程序编写的 XAML。...实时可视化树的Just My XAML 可移动的应用内工具栏(v16.3): 应用程序内工具栏已得到增强,可在正在运行的 WPF / UWP 应用程序中移动,从而使开发人员能够应用程序向左或向右拖动它以解除阻止应用程序...在此版本,我们已修复了 IntelliSense 错误,此修复程序 #regions 现在将在您开始输入<!时正确显示。...总结 这些功能只是我们一直努力的一部分,还有许多仍在开发,我们希望准备就绪时与您分享更多信息。

    7.3K30

    (22) 为了理解 UWP 的启动流程,我从零开始创建了一个 UWP 程序

    然而这些文件 UWP 程序到底是如何工作起来的? 我从零开始创建了一个 UWP 程序,用于探索这些文件的用途,了解 UWP 程序的启动流程。...---- 本文分为两个部分: 从零开始创建一个 UWP 项目并完成部署 从零开始编写一个 UWP 应用程序和窗口 本文将从 Main 函数开始,一步步跑起来一个应用程序,显示一个窗口,并在窗口中显示一些内容...重点在了解 UWP 运行应用程序,并显示窗口。 启动应用 在上一篇文章的末尾,我们成功启动了程序并进入了 Main 函数的断点,但实际上运行会报错。...UWP 开启一个消息循环是非常容易的,不过我们需要一个 CoreDispatcher 对象。我们目前的接口实现,CoreDispatcher 对象可以从 CoreWindow 获取到。...private Compositor _compositor; 总结 本文中,我们了解到 UWP 的应用程序启动也一样需要有窗口消息循环。不过 UWP 创建消息循环还是非常简单的。

    1.2K20

    UWP 手绘视频创作工具技术分享系列

    Runtime App , 编程语言可以是 C++、C# 或 VB,相信 UWP 尝试过图形渲染绘制的同学们,对 Win2D 都不会陌生,毕竟我我软推荐的实现方式。...来看一下应用的实现效果,下面三张图显示的是一个 SVG 的绘制过程: ? ? ? 3....确定一种字体后,我们会在对应的字体 TTF 文件取出相应的文字来展示,也可以拿到代表文字所有边缘的路径数据。...常见的场景,视频旁加入手绘人物素材,变成人在解说和旁白;或在视频中加入贴纸或道具等,可以视频旁或视频动态变化,这样比单纯的处理视频加入贴纸更丰富,电视节目中经常能看到;再如在手绘插入视频,变成一个动态的背景等等...下面时其中一种场景:     对于我们程序的处理,操作和预览时,更多的时直接利用了系统的 MediaElementPlayer 播放器。

    1.3K110

    win10 uwp win2d CanvasVirtualControl 与 CanvasAnimatedControl CanvasAnimatedControlCanvas

    之前的入门教程win10 uwp win2d 入门 看这一篇就够了我直接用的是CanvasControl,实际上可以使用的画布还有下面两个 CanvasAnimatedControl CanvasVirtualControl...如果是为了做动画需要不停调用 Invalidate , UWP 比较好的方法是使用 CanvasAnimatedControl 这个可以到每秒 60 帧,而且在用户设备比较差的时候会降低调用频率。...所以做动画的时候需要不停触发重新渲染就使用 CanvasAnimatedControl ,关于这个控件,请看win10 uwp 萤火虫效果 Win2D 的游戏循环:CanvasAnimatedControl...只有需要显示的地方才是有效的,存放在内存的,对于不显示的地方是不放在内存,不画出来的。...一个原来不显示的地方变为显示时就会触发RegionsInvalidated事件,这时就可以画出这部分。

    55810
    领券