我的XAML代码片段
<TextBlock Text="{Binding Name}" Foreground="{Binding FontColor}" FontStyle="{Binding FontStyleTreeItem}"/>
剪切的代码类TreeItem:
public System.Windows.FontStyles FontStyleTreeItem {get;set}
我想为属性“ FontStyleTreeItem”分配类似的内容:
treeItem.FontStyleTreeItem = System.Windows.FontStyles.Italic;
但是这不起作用,因为“ System.Windows.FontStyles”是静态的。但是我不知道如何提供一个好的解决方案来设置上述属性。
我还尝试将属性设置为FontStyle,因此最后没有 s (FontStyle s ),但是文本块的字体样式却没有改变。
public FontStyle FontStyleTreeItem { get { return FontStyle.Italic; } }
有人可以看到我想念的东西吗?
已经感谢。
答案 0 :(得分:1)
属性的类型应为System.Windows.FontStyle
。它可能仍会返回静态值,例如FontStyles.Italic
:
public System.Windows.FontStyle FontStyleTreeItem { get { return System.Windows.FontStyles.Italic; } }
如果您这样定义属性:
public System.Windows.FontStyle FontStyleTreeItem { get; set; }
...您可以将其设置为任何FontStyle
值,例如:
FontStyleTreeItem = FontStyles.Italic;
如果在运行时动态设置它,则需要实现INotifyPropertyChanged接口以更改字体样式。