C# 如何对齐DataTemplateSelector选择的DataTemplate中的文本?
根据DataTemplateSelector的选择,我正在尝试对齐列表框的DataTemplate中的文本 我想要的是这样的东西: 并尝试使用DataTemplateSelectorC# 如何对齐DataTemplateSelector选择的DataTemplate中的文本?,c#,wpf,datatemplate,datatemplateselector,C#,Wpf,Datatemplate,Datatemplateselector,根据DataTemplateSelector的选择,我正在尝试对齐列表框的DataTemplate中的文本 我想要的是这样的东西: 并尝试使用DataTemplateSelector <DataTemplate x:Key="RequestTemplate" DataType="local:Message"> <TextBlock Text="{Binding Text}" Background="LightGreen" TextAlignme
<DataTemplate x:Key="RequestTemplate" DataType="local:Message">
<TextBlock Text="{Binding Text}" Background="LightGreen" TextAlignment="Left" TextWrapping="Wrap"/>
</DataTemplate>
<DataTemplate x:Key="ResponseTemplate" DataType="local:Message" >
<TextBlock Text="{Binding Text}" Background="Yellow" TextAlignment="Right" TextWrapping="Wrap"/>
</DataTemplate>
<local:MesssageDataTemplateSelector x:Key="MessageDataTemplateSelector"
ResponseTemplate="{StaticResource ResponseTemplate}"
RequestTemplate="{StaticResource RequestTemplate}" />
列表框本身:
<ListBox ItemTemplateSelector="{StaticResource MessageDataTemplateSelector}" ItemsSource="{Binding Messages}" />
在不对齐的情况下应用颜色
我还尝试了水平对齐,但也不起作用。如何实现此效果?一种解决方案是更改
ListBoxItem
样式,使其水平内容对齐
为拉伸
:
<ListBox.ItemContainerStyle>
<Style TargetType="ListBoxItem">
<Setter Property="HorizontalContentAlignment" Value="Stretch" />
</Style>
</ListBox.ItemContainerStyle>