GridViewColumn.CellTemplate中的TextBlock文本换行未生效

19

我在这个例子中遇到了无法实现文字换行的问题,有谁能看出我在这里做错了什么吗?

    <ListView Name="listViewReportedException" ItemsSource="{Binding ExceptionDetails}">
        <ListView.View>
            <GridView>
                <GridViewColumn Header="Time" DisplayMemberBinding="{Binding Thrown}" Width="150" />
                <GridViewColumn Header="Description" DisplayMemberBinding="{Binding Description}" Width="385">
                    <GridViewColumn.CellTemplate>
                        <DataTemplate>
                            <TextBlock TextWrapping="Wrap" Text="{Binding}" Width="385"/>
                        </DataTemplate>
                    </GridViewColumn.CellTemplate>
                </GridViewColumn>
                <GridViewColumn Header="Recover action" DisplayMemberBinding="{Binding Action}" Width="90"/>
            </GridView>
        </ListView.View>
    </ListView>

你尝试过将 ScrollViewer.HorizontalScrollBarVisibility="Disabled" 设置到你的 ListView 上吗? - Zabavsky
2个回答

37

您同时设置了DisplayMemberBindingCellTemplate。在使用CellTemplate时,请移除DisplayMemberBinding。同时,移除TextBlockWidth属性即可使其正常工作。

<ListView ...>
    <ListView.View>
        <GridView>
            <!-- ... -->
            <GridViewColumn Header="Description" Width="385">
                <GridViewColumn.CellTemplate>
                    <DataTemplate>
                        <TextBlock TextWrapping="Wrap" Text="{Binding Description}" />
                    </DataTemplate>
                </GridViewColumn.CellTemplate>
            </GridViewColumn>
            <!-- ... -->
        </GridView>
    </ListView.View>
</ListView>

1

对于TextBlock,设置样式对我也有用:

<ListView ItemsSource="{Binding xxx}">
  <ListView.Resources>
     <Style TargetType="TextBlock">
        <Setter Property="TextWrapping" Value="Wrap"/>
     </Style>
  </ListView.Resources>
  <ListView.View>
    <GridView.Columns>
      <GridViewColumn Header="Inspection Item" DisplayMemberBinding="{Binding InspectionItem}"/>
  </ListView.View>
<ListView>

enter image description here


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接