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

如何更改每个项目的列表框样式以允许在silverlight中进行换行?,silverlight,silverlight-4.0,Silverlight,Silverlight 4.0,我希望listbox中的每一行在其宽度设置为固定宽度且文本长度大于宽度时都可以显示带换行符的文本 例如,“这是一个长字符串。”显示为一行,但“这是一个长字符串。这是一个长字符串。这是一个长字符串。”可以显示为三行,因为它是列表框中的一项 因此,列表框中每一行的高度可能因上下文而异 如何为这种情况创建简单样式?您可以通过修改ItemsTemplate来实现这一点 <ListBox ItemsSource="{Binding YourItems}"> <ListBox

我希望listbox中的每一行在其宽度设置为固定宽度且文本长度大于宽度时都可以显示带换行符的文本

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

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


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

您可以通过修改ItemsTemplate来实现这一点

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


这假设您的viewmodel有一个IEnumerable的“YourItems”属性,并且您的对象上有一个字符串TextProperty属性

您可以通过修改ItemsTemplate来实现这一点

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


这假设您的viewmodel有一个IEnumerable的“YourItems”属性,并且您的对象上有一个字符串的TextProperty属性

您希望在XAML或代码隐藏中执行此操作吗?您希望在XAML或代码隐藏中执行此操作吗?