我希望列表框中的每一行都可以在其宽度设置为固定宽度并且文本长于宽度时显示带有自动换行的文本。
例如,“这是一个长字符串。” 显示为一行,但“这是一个长字符串。这是一个长字符串。这是一个长字符串。” 可以显示为 3 行,因为它是列表框中的一项。
因此,列表框中每一行的高度可能会根据上下文而有所不同。
如何为这种情况创建一个简单的样式?
我希望列表框中的每一行都可以在其宽度设置为固定宽度并且文本长于宽度时显示带有自动换行的文本。
例如,“这是一个长字符串。” 显示为一行,但“这是一个长字符串。这是一个长字符串。这是一个长字符串。” 可以显示为 3 行,因为它是列表框中的一项。
因此,列表框中每一行的高度可能会根据上下文而有所不同。
如何为这种情况创建一个简单的样式?
您可以通过修改 ItemsTemplate 来做到这一点
<ListBox ItemsSource="{Binding YourItems}">
<ListBox.ItemTemplate>
<DataTemplate>
<TextBlock Text="{Binding TextProperty}" TextWrapping="Wrap"/>
</DataTemplate>
</ListBox.ItemTemplate>
</ListBox>
这假设您的视图模型有一个“YourItems”属性,它是一个 IEnumerable,并且 YourObject 上有一个 TextProperty 属性,它是一个字符串