【发布时间】:2013-12-11 21:59:26
【问题描述】:
我想将 TextBox 的 FontFamily 绑定到我在 ViewModel 上创建的属性
这是我的 XAML:
<TextBox Text="Test Font Binding" FontFamily="{Binding FontFirstContent}" />
这里是我的 ViewModel 中的属性:
public FontFamily FontFirstContent
{
get { return new FontFamily("Verdana"); }
}
加载视图时,属性的 getter 会正确触发,但不会传递给视图。 除了这个之外,我认为所有绑定都在工作,所以我不明白它有什么问题?
编辑: 好的,它工作正常!我只是在处理错误的 FontFamily 对象.. 我用过:
System.Drawing.FontFamily
但 FontFamily 必须是类型:
System.Windows.Media.FontFamily
【问题讨论】:
-
这很奇怪,我设置了一个快速项目。这个对我有用。您是否正确设置了 DataContext?
-
你能把你的viewmodel、xaml中的代码粘贴到后面(如果有的话)吗?
-
如果我不使用 ViewModel,它似乎也对我有用。所以如果我将我的属性放在我的视图代码后面并定义:DataContext = this;它正在工作。但如果我这样做: DataContext = new MyViewModel();它不起作用。很奇怪..
-
我所做的是 DataContext = new MyViewModel();在后面的视图代码中并且有效。
-
FontFamily在视图中的实际值是多少,根据例如窥探?