我的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,因此在结束时没有的( fontstyle 的),但是文本块的字体样式不会改变。
public FontStyle FontStyleTreeItem { get { return FontStyle.Italic; } }有人能看到我错过了什么吗?
已经谢谢了。
发布于 2018-07-06 10:28:09
属性的类型应该是System.Windows.FontStyle。它仍然可能返回一个静态值,如FontStyles.Italic。
public System.Windows.FontStyle FontStyleTreeItem { get { return System.Windows.FontStyles.Italic; } }如果您像这样定义属性:
public System.Windows.FontStyle FontStyleTreeItem { get; set; }...you可以将其设置为任意FontStyle值,例如:
FontStyleTreeItem = FontStyles.Italic;如果在运行时动态设置它,则需要实现INotifyPropertyChanged接口,以便更改字体样式。
https://stackoverflow.com/questions/51208281
复制相似问题