如何更改每个项的列表框样式以允许在 silverlight 中使用自动换行



我希望列表框中的每一行都可以在其宽度设置为固定宽度且文本长于宽度时显示带自动换行的文本。

例如,"这是一个长字符串

"显示为一行,但"这是一个长字符串。这是一个很长的字符串。这是一个长字符串",可以显示为 3 行,因为它是列表框中的一个项目。

因此,列表框中每一行的高度可能因上下文而异。

如何为这种情况创建简单的样式?

您可以通过修改项目模板来执行此操作

 <ListBox ItemsSource="{Binding YourItems}">
      <ListBox.ItemTemplate>
           <DataTemplate>
                 <TextBlock Text="{Binding TextProperty}" TextWrapping="Wrap"/>
           </DataTemplate>
      </ListBox.ItemTemplate>
 </ListBox>

这假设您的视图模型具有一个 IEnumerable 的 "YourItems" 属性,并且 YourObject 上有一个字符串的 TextProperty 属性

最新更新