Wpf 使用数据网格时如何使列自动换行

Wpf 使用数据网格时如何使列自动换行,wpf,wpfdatagrid,Wpf,Wpfdatagrid,我在专栏里有一些长字符串。如何使列自动换行?对于DataGridTextColumn,您可以使用 <DataGridTextColumn ...> <DataGridTextColumn.ElementStyle> <Style TargetType="TextBlock"> <Setter Property="TextWrapping" Value="Wrap"/> </Sty

我在专栏里有一些长字符串。如何使列自动换行?

对于DataGridTextColumn,您可以使用

<DataGridTextColumn ...>
    <DataGridTextColumn.ElementStyle>
        <Style TargetType="TextBlock">
            <Setter Property="TextWrapping" Value="Wrap"/>
        </Style>
    </DataGridTextColumn.ElementStyle>
    <DataGridTextColumn.EditingElementStyle>
        <Style TargetType="TextBox">
            <Setter Property="TextWrapping" Value="Wrap"/>
        </Style>
    </DataGridTextColumn.EditingElementStyle>
</DataGridTextColumn>

对于DataGridTextColumn,您可以使用

<DataGridTextColumn ...>
    <DataGridTextColumn.ElementStyle>
        <Style TargetType="TextBlock">
            <Setter Property="TextWrapping" Value="Wrap"/>
        </Style>
    </DataGridTextColumn.ElementStyle>
    <DataGridTextColumn.EditingElementStyle>
        <Style TargetType="TextBox">
            <Setter Property="TextWrapping" Value="Wrap"/>
        </Style>
    </DataGridTextColumn.EditingElementStyle>
</DataGridTextColumn>


@user496949:您是这样想的还是您的使用场景?我需要同时设置TextBox和TextBlock的样式吗?@user496949:这取决于具体情况。如果您在DataGridTextColumn中启用了编辑功能,那么我建议您这样做。否则,当您进入编辑模式时,它将变成一条长线。如果它是只读的,那么就没有必要这样做it@user496949:不,应该可以。你的意思是它一开始就不包装?您是否尝试在运行时更改列的宽度?尝试设置Width=“100”或something@user496949:这是您的想法还是您的使用场景?我需要同时设置TextBox和TextBlock的样式吗?@user496949:这取决于具体情况。如果您在DataGridTextColumn中启用了编辑功能,那么我建议您这样做。否则,当您进入编辑模式时,它将变成一条长线。如果它是只读的,那么就没有必要这样做it@user496949:不,应该可以。你的意思是它一开始就不包装?您是否尝试在运行时更改列的宽度?尝试设置Width=“100”或其他设置