WPF DataGrid单元格文本换行-设置为NoWrap(False)

WPF DataGrid单元格文本换行-设置为NoWrap(False),wpf,wpfdatagrid,word-wrap,datagridcell,Wpf,Wpfdatagrid,Word Wrap,Datagridcell,如何将WPF数据网格中每个单元格的TextWrapping设置为“NoWrap”?我知道单元格本身没有“TextWrapping”属性,但我想在单元格内的控件上设置该属性 我使用的DataGrid没有明确定义列,它显示的结果集是动态的 我正在寻找一个类似于下面链接中提供的答案的解决方案。但是,我不希望显式重写单元样式/模板并定义要使用的控件。相反,我想说,如果正在使用TextBlock,请将其TextWrapping属性设置为NoWrap 在DataGrid的资源中,您可以为文本块指定替代默认

如何将WPF数据网格中每个单元格的TextWrapping设置为“NoWrap”?我知道单元格本身没有“TextWrapping”属性,但我想在单元格内的控件上设置该属性

我使用的DataGrid没有明确定义列,它显示的结果集是动态的

我正在寻找一个类似于下面链接中提供的答案的解决方案。但是,我不希望显式重写单元样式/模板并定义要使用的控件。相反,我想说,如果正在使用TextBlock,请将其TextWrapping属性设置为NoWrap



在DataGrid的资源中,您可以为文本块指定替代默认样式。这应该满足您的要求(“如果正在使用TextBlock,请将其TextWrapping属性设置为NoWrap”)。如果TextBlocks明确指定要使用的不同样式,则这将不起作用

<DataGrid ...>
    <DataGrid.Resources>
        <Style TargetType="{x:Type TextBlock}">
            <Setter Property="TextWrapping" Value="NoWrap"/>
        </Style>
    </DataGrid.Resources>
    ...
</DataGrid>

...

(未测试,因为我现在没有可用的Visual Studio。)

在DataGrid的资源中,您可以为TextBlock指定替代默认样式。这应该满足您的要求(“如果正在使用TextBlock,请将其TextWrapping属性设置为NoWrap”)。如果TextBlocks明确指定要使用的不同样式,则这将不起作用

<DataGrid ...>
    <DataGrid.Resources>
        <Style TargetType="{x:Type TextBlock}">
            <Setter Property="TextWrapping" Value="NoWrap"/>
        </Style>
    </DataGrid.Resources>
    ...
</DataGrid>

...
(未测试,因为我现在没有可用的Visual Studio。)