[WP8] ListBox的Item宽度自动填满

范例下载

范例程序代码:点此下载

问题情景

开发WP8应用程序的时候,常常会需要使用ListBox作为容器来呈现各种数据集合。但是在ListBox呈现数据时,ListBox中每个用来呈现数据的Item控件,在默认的状态下,宽度并不会填满整个ListBox。这样的默认样式,会因为Item控件的内容而动态的决定实际宽度,这很容易造成显示时排版不整齐,进而影响整体美观。

  • 执行结果

  • 程序代码(.XAML)

    <!--Resources-->
    <phone:PhoneApplicationPage.Resources><!--TestTemplate--><DataTemplate x:Key="TestDataTemplate"><Button Content="{Binding Path=Name}" Background="LightPink" /></DataTemplate></phone:PhoneApplicationPage.Resources><!--LayoutRoot-->
    <ListBox x:Name="ListBox001" ItemTemplate="{StaticResource TestDataTemplate}" Background="LightBlue"></ListBox>
    
  • 程序代码(.CS)

    public class TestData
    {public string Name { get; set; }
    }public partial class MainPage : PhoneApplicationPage
    {// Constructorspublic MainPage(){// Initializethis.InitializeComponent();// Datavar dataList = new List<TestData>();dataList.Add(new TestData() { Name = "D1" });dataList.Add(new TestData() { Name = "D2222" });dataList.Add(new TestData() { Name = "D33" });dataList.Add(new TestData() { Name = "D444444" });dataList.Add(new TestData() { Name = "D5" });dataList.Add(new TestData() { Name = "D6" });// Bindingthis.ListBox001.ItemsSource = dataList;}
    }
    

解决方案

解决方案很简单,只要照着下列范例的XAML内容,将ListBox中Item控件的HorizontalContentAlignment属性重新定义为Stretch,就可以让Item控件的宽度填满整个ListBox。

  • 执行结果

  • 程序代码(.XAML)

    <!--Resources-->
    <phone:PhoneApplicationPage.Resources><!--TestTemplate--><DataTemplate x:Key="TestDataTemplate"><Button Content="{Binding Path=Name}" Background="LightPink" /></DataTemplate></phone:PhoneApplicationPage.Resources><!--LayoutRoot-->
    <ListBox x:Name="ListBox001" ItemTemplate="{StaticResource TestDataTemplate}" Background="LightBlue"><!--Style--><ListBox.ItemContainerStyle><Style TargetType="ListBoxItem"><Setter Property="HorizontalContentAlignment" Value="Stretch"/></Style></ListBox.ItemContainerStyle></ListBox>
    
  • 程序代码(.CS)

    public class TestData
    {public string Name { get; set; }
    }public partial class MainPage : PhoneApplicationPage
    {// Constructorspublic MainPage(){// Initializethis.InitializeComponent();// Datavar dataList = new List<TestData>();dataList.Add(new TestData() { Name = "D1" });dataList.Add(new TestData() { Name = "D2222" });dataList.Add(new TestData() { Name = "D33" });dataList.Add(new TestData() { Name = "D444444" });dataList.Add(new TestData() { Name = "D5" });dataList.Add(new TestData() { Name = "D6" });// Bindingthis.ListBox001.ItemsSource = dataList;}
    }
    

转载于:https://www.cnblogs.com/clark159/p/3557472.html

[WP8] ListBox的Item宽度自动填满相关推荐

  1. Ext.grid.ColumnModel列宽度自动填满grid宽度

    var grid = new Ext.grid.GridPanel({       renderTo : Ext.getBody(),       ds : store,       cm : cm, ...

  2. 一个div分上下两部分,上部分高度不固定,下面部分自动填满剩余高度

    div自动填满剩余高度 html <div class="wrapper" style="height:800px;"><div class= ...

  3. css自动填满父级剩余宽度

    1.父元素内有两个子元素,其中一个元素宽度已知,另一个元素填满父级剩余宽度,这种情况可以用 calc() 来实现. <html><head><meta charset=& ...

  4. css高度自动填满_Unity--自动版面(Grid Layout Group)

    Grid Layout Group 网格布局组组件将其子布局元素放置在网格中. Padding:(填充) 布局组边缘内的填充.与其他布局组不同,"网格布局组"将忽略其所包含布局元素 ...

  5. DIV自动填满剩余空间

    参考:http://bbs.blueidea.com/thread-2773197-1-1.html 效果: 代码: <!DOCTYPE html PUBLIC "-//W3C//DT ...

  6. 如何让图片跟随div大小自动填满

    1.图片与div的width和height一致(一般不同),手动调整div或图片的width和height 2.div的属性设置: background:url("背景图片路径") ...

  7. [Qt5布局] 控件自动填满所在布局框架

  8. Qt TableView数据列宽度自适应, 横向填满表格

    Qt开发,读取数据库数据,用TableView展示,发现字段少的时候,右边空出一大块,影响外观. 怎样让各列宽度自适应,填满表格区域呢? 网上找到了答案: https://stackoverflow. ...

  9. Recyclerview嵌套Recyclerview,条目显示不全和宽度不能铺满不能同时满足

    参考了: RecyclerView常见问题解决方案,RecyclerView嵌套自动滚动,RecyclerView 高度设置wrap_content 无作用等问题 - 邱石的专栏 - CSDN博客   ...

最新文章

  1. 有了四步解题法模板,再也不害怕动态规划!
  2. 测试某个端口是否开放的方法
  3. elk-nginx输出json格式的日志
  4. 【修订】为什么OO方法是有本质缺陷的?
  5. Spring Security默认的用户登录表单 页面源代码
  6. Java Okio-更加高效易用的IO库
  7. 联想服务器看内存型号,合肥联想服务器内存条_性能无约束
  8. LeetCode-Remove Duplicates from Sorted Array-从有序数组移除重复-简单逻辑
  9. Magento教程 7:客制化网站
  10. Tomcat绑定jre
  11. 查找丢包故障点的一个好命令:pathping
  12. 有哪些好用的实时网络流量监控软件
  13. python excel数据框_Python快速设置Excel表格边框
  14. 简单BP神经网络分类手写数字识别0-9
  15. vue3实现tags
  16. 专业测试-自评抑郁量表SDS_悟sphenic_新浪博客
  17. 【洛谷 2958】木瓜的丛林
  18. python图片转文字easyocr_Python OpenCV读取png图像转成jpg图像存储
  19. 极域电子教室学生机房管理助手(好好上课)教程
  20. 2022年全球市场火锅燃料总体规模、主要生产商、主要地区、产品和应用细分研究报告

热门文章

  1. 在python中使用什么函数进行输出_Python中使用pprint函数进行格式化输出的教程
  2. linux 解压文件zip格式
  3. java fieldposition_Java FieldPosition toString()用法及代码示例
  4. 数学计算机电路基础,2019上“计算机电路基础”作业(五大题共16小题).docx
  5. mysql 语法错误检查,解决引号的使用错误1064(42000):SQL语法有错误;检查与您的MySQL服务器版本相对应的手册以使用正确的语法?...
  6. Refused to load the image
  7. Execution default of goal org.springframework.boot:spring-boot-maven-plugin
  8. php 许愿墙 阶段案例_文化墙制作要突出企业哪些重点?
  9. arm linux dma_alloc_coherent 实现,dma_alloc_coherent (建立一致性 DMA 映射函数)
  10. java什么是接口_Java接口是什么