我有一个WPF标签控件,我试图改变使用由一些遗留代码提供的System.Drawing.Font对象的外观.我已经能够设置大部分属性,但我正在与Strikeout和Underline斗争.
到目前为止,我有:
System.Drawing.Font font = FontFromLegacyCode(); System.Windows.Controls.Label label = new System.Windows.Controls.Label(); label.FontFamily = new System.Windows.Media.FontFamily( font.Name ); label.FontWeight = font.Bold ? System.Windows.FontWeights.Bold : System.Windows.FontWeights.Regular; label.FontStyle = font.Italic ? System.Windows.FontStyles.Italic : System.Windows.FontStyles.Normal; label.FontSize = font.Size;
如何设置字体删除线或下划线属性?有没有更好的控制使用?
我会将其更改为TextBlock控件.TextBlock控件具有您可以使用的TextDecorations属性.
或者,如果你真的喜欢,你可以将一个TextBlock粘贴在Label中(虽然我只是单独使用TextBlock).
看看TextDecorations类.
在大多数情况下,我发现TextBlocks比Labels更合适.这是一篇关于差异的博客文章.主要区别在于Label是Control,而TextBlock只是FrameworkElement.Label也支持访问密钥.