C# 如何通过绑定(MVVM)设置文本块的字体样式

C# 如何通过绑定(MVVM)设置文本块的字体样式,c#,wpf,xaml,C#,Wpf,Xaml,我截取的XAML代码: <TextBlock Text="{Binding Name}" Foreground="{Binding FontColor}" FontStyle="{Binding FontStyleTreeItem}"/> 我想将属性“FontStyleTreeItem”指定为如下内容: treeItem.FontStyleTreeItem = System.Windows.FontStyles.Italic; 但这不起作用,因为“System.Windows.F

我截取的XAML代码:

<TextBlock Text="{Binding Name}" Foreground="{Binding FontColor}" FontStyle="{Binding FontStyleTreeItem}"/>
我想将属性“FontStyleTreeItem”指定为如下内容:

treeItem.FontStyleTreeItem = System.Windows.FontStyles.Italic;
但这不起作用,因为“System.Windows.FontStyles”是静态的。但我不知道如何给出一个好的解决方案来设置上述属性

我还尝试将属性设置为FontStyle,因此在末尾没有s(FontStyles),但是textblock的FontStyle不会改变

public FontStyle FontStyleTreeItem { get { return FontStyle.Italic; } }
有人能看到我遗漏了什么吗


已经谢谢了。

属性的类型应该是
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;

如果在运行时动态设置,则需要实现更改字体样式的界面。

但问题是,如何设置此属性?就像设置任何其他属性一样。请看我的编辑
FontStyles.Italic
返回一个
FontStyle
。啊哈,对不起(快)。谢谢
FontStyleTreeItem = FontStyles.Italic;