win10 uwp 动态修改ListView元素布局

本文告诉大家如何在代码动态修改 ListView 的元素布局,从垂直修改为水平,从水平修改为垂直

先给大家一张图看一下效果

如何需要从 cs 代码修改 ListView 的 ItemsPanel 的 ItemsPanelTemplate 从而修改元素布局是比较困难的。如修改下面代码的 Orientation 从 Horizontal 修改为 Vertical。

    <ListView.ItemsPanel>
        <ItemsPanelTemplate>
            <ItemsStackPanel Orientation="Horizontal"/>
        </ItemsPanelTemplate>
    </ListView.ItemsPanel>

因为无法通过后台代码直接创建一个 ItemsPanelTemplate ,除了使用 XamlReader 来做。

但是这样做比较复杂。

我期望的方式是直接通过代码修改。

在堆栈网发现c# - How to set ListView ItemsStackPanel orientation by code? - Stack Overflow,里面使用 ItemsPanelRoot 来设置

            if (xxListView.ItemsPanelRoot is ItemsStackPanel panel)
            {
                panel.Orientation = Orientation.Vertical;
            }

实际上的 ItemsPanelRoot 就是控制的 panel ,通过修改这个 panel 的值就可以修改列表的布局。


本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏分享达人秀

Android事件处理概述

通过对Android基本组件的学习,也有接触少部分Android的事件处理,比如按钮的点击事件、选框的状态切换事件。 一、Android事件处理 ...

2199
来自专栏用户画像

Android程序目录

高低中各种分辨率的图片都有,自动适应于各种分辨率的手机,里面的文件名必须用小写英文,如果想安自流读取该目录下的图像文件,需要放在res\raw目录下

743
来自专栏贾鹏辉的技术专栏@CrazyCodeBoy

React Native 混合开发(Android篇)

在React Native的应用场景中,有时候一个APP只有部分页面是由React Native实现的,比如:我们常用的携程App,它的首页下的很多模块都是由R...

4363
来自专栏宋凯伦的技术小栈

Android - 常见的控件布局,左中右,左右等

这里汇总的是自己在工作过程中,使用过的常见空间布局,记录在这里。详情如下: 1. 三个控件,分别处于左,中,右 要点:使用RelativeLayout 1  ...

2717
来自专栏技术博客

ExtJs七(ExtJs Mvc创建ViewPort)

在4.1的时候,要先创建一个扩展于Ext.app.Application的类,然后用create创建它的实例来开始应用程序的。而在4.1.1,则可直接调用app...

1364
来自专栏.Net移动开发

Smobiler 4.4已正式发布!(Smobiler能让你在Visual Studio上开发APP)

Smobiler 4.4已经正式发布,还不快来看看? 原文地址:https://www.smobiler.com/portal.php?mod=view&aid...

6092
来自专栏向治洪

React Native 0.50版本新功能简介

React Native在2017年经历了众多版本的迭代,从本人接触的0.29版本开始,到前不久发布的0.52版本,React Native作为目前最受欢迎的移...

3086
来自专栏张善友的专栏

GridView控件使用经验

   GridView控件是Asp.net 1.1版本流行控件DataGrid的继承者,功能比DataGrid增强不少,但是也有很大的不同啊。将最近使用这个控件...

2179
来自专栏Linux驱动

9.QT-标准对话框

1424
来自专栏AndroidTv

借鉴Glide思想二次封装Fresco背景二次封装使用示例Github 地址

Fresco 图片库很强大,我们项目中就是使用的 Fresco,但有一点就是,不怎么好使用,略麻烦。不同项目中,多多少少都需要对 Fresco 进行一层封装才能...

1532

扫码关注云+社区

领取腾讯云代金券