更改DataGrid中一列的字体类型

时间:2018-04-09 10:54:34

标签: c# wpf datagrid

我的WPF应用程序中有一个DataGrid。

我希望第3列使用特定的字体类型(因此我可以在那里显示一些符号)

<Datagrid
...
>
  <DataGrid.Columns>
    <DataGridTextColumn x:Name="c1" Binding="{Binding Path=C1}" />
    <DataGridTextColumn x:Name="c2" Binding="{Binding Path=C2}" />
    <DataGridTextColumn x:Name="c3" Binding="{Binding Path=C3}" CellStyle="{StaticResource MyStyle}"/>
  </DataGrid.Columns>
</Datagrid>

MyStyle位于控制资源中:

<UserControl.Resources>
    <Style x:Key="MyStyle">
        <Setter Property="TextElement.FontFamily" Value="Resources/#MyFont" />
    </Style>
    ...
</USerControl.Resources>
我在做错了什么?我在Resources文件夹中有MyFont.ttf文件。在网格中,所有列都使用相同的字体。

1 个答案:

答案 0 :(得分:0)

修复路径时,会导致内存泄漏。 使用带字体的相对路径会产生内存泄漏。 你需要一条绝对的道路。 安装字体更简单。 WPF TextBlock memory leak when using Font

如果你不能这样做,那么将它传递给appdata,计算路径,然后添加指向该路径的资源。 如果您的路径不是以驱动器号开头,那么它几乎肯定是相对的。