我想在WPF DataGrid列标题和行内容中启用文本换行。 在寻找解决方案时,我经常偶然发现this之类的东西。问题是,它不适合我。
首先,我对这一行有疑问:
xmlns:primitives="clr-namespace:Microsoft.Windows.Controls.Primitives;assembly=WPFToolkit"
我收到有关未找到程序集的错误。 其余的XAML代码存在更多问题。
<Style TargetType="{x:Type primitives:DataGridColumnHeader}">
<Setter Property="ContentTemplate">
<Setter.Value>
<DataTemplate>
<TextBlock TextWrapping="Wrap" Text="{Binding}"></TextBlock>
</DataTemplate>
</Setter.Value>
</Setter>
</Style>
我将它放在DataGrid标记内,否则将无法编译。我也省略了“primitives”-namespace,因为我实际上没有包含它(见上文)。现在它编译。但是,应用程序在窗口的构造函数中抛出一些异常。知道我怎么能让这个东西真正起作用吗?
答案 0 :(得分:7)
答案 1 :(得分:4)
不需要对app.xaml的引用,如下所示:
<DataGrid Name="WBdataGrid" AutoGenerateColumns="False" ColumnHeaderHeight="50" >
<DataGrid.ColumnHeaderStyle>
<Style TargetType="DataGridColumnHeader">
<Setter Property="ContentTemplate">
<Setter.Value>
<DataTemplate>
<TextBlock TextWrapping="Wrap" Text="{Binding}"></TextBlock>
</DataTemplate>
</Setter.Value>
</Setter>
</Style>
</DataGrid.ColumnHeaderStyle>
<DataGrid.Columns>