绑定 FontFamily ViewModel 的属性

Nid*_*idx 6 c# wpf xaml mvvm

我想将 TextBox 的 FontFamily 绑定到我在 ViewModel 上创建的属性

这是我的 XAML:

<TextBox Text="Test Font Binding" FontFamily="{Binding FontFirstContent}" />
Run Code Online (Sandbox Code Playgroud)

这里是我的 ViewModel 中的属性:

public FontFamily FontFirstContent
{
    get { return new FontFamily("Verdana"); }
}
Run Code Online (Sandbox Code Playgroud)

加载视图时,属性的 getter 会正确触发,但不会在视图上传递。除了这个,我视图上的所有绑定都在工作,所以我不明白它有什么问题?

编辑:好的,它工作正常!我只是在处理错误的 FontFamily 对象。我使用过:

System.Drawing.FontFamily
Run Code Online (Sandbox Code Playgroud)

但 FontFamily 必须是类型:

System.Windows.Media.FontFamily
Run Code Online (Sandbox Code Playgroud)

Tic*_*ico 1

以下是我添加到ResourceDictionary旨在成为我的应用程序的默认样式的内容:

<FontFamily x:Key="MyFontFamily">Segoe UI</FontFamily>
Run Code Online (Sandbox Code Playgroud)

当你想使用它时,你FontFamily可以像这样设置属性:

<Label Content="Something" FontFamily="{DynamicResource MyFontFamily}"/>
Run Code Online (Sandbox Code Playgroud)

不要忘记将其放入一个ResourceDictionary或任何控制资源中。

希望能帮助到你;