C# 如何通过绑定(MVVM)设置文本块的字体样式
我截取的XAML代码: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
<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;