在WPF ListBox中创建列

时间:2010-07-23 00:56:57

标签: wpf xaml listbox controltemplate

问题:
我有一组有3个元素的项目:

  1. 图像
  2. 描述
  3. 数值
  4. 我想在ListBox中显示这些内容(类似于Excel在摘要视图中显示电子邮件的方式)但是,我不知道描述字段的宽度。如果我没有在ItemTemplate im中为ListBoxItem设置宽度的硬编码值,则值不对齐。我们的想法是将它们显示在列表框中,如下所示:

    图像....文本1 ................... 100个
    图像...... Text2更长.101
    图像.... ShortText ............ 102

    任何帮助将不胜感激:)

1 个答案:

答案 0 :(得分:2)

您希望在模板中使用Grid作为列表项,并确保ItemsControl(或ListBox)具有Grid.IsSharedSizeScope =“true”附加属性,并且列定义具有不同的SharedSizeGroup值。这将允许所有列表框项目参与确定列的宽度,即使从技术上讲它们都有自己的网格。详情请见here。另请参阅之前的问题:WPF grid across user controls?