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

时间:2012-06-21 16:51:45

标签: silverlight silverlight-4.0

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

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

因此,列表框中每行的高度可能会有所不同,具体取决于上下文。

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

1 个答案:

答案 0 :(得分:1)

您可以通过修改ItemsTemplate

来完成此操作
 <ListBox ItemsSource="{Binding YourItems}">
      <ListBox.ItemTemplate>
           <DataTemplate>
                 <TextBlock Text="{Binding TextProperty}" TextWrapping="Wrap"/>
           </DataTemplate>
      </ListBox.ItemTemplate>
 </ListBox>

这假设您的viewmodel具有一个IEIumerable的“YourItems”属性,并且YourObject上有一个TextProperty属性,它是一个字符串