为了节省输入并使代码更具可读性,我将Binding类子类化为使其使用特定的源:
public class MyBinding : Binding
{
private void SetSource()
{
Source = Application.Current.Resources["Translator"];
}
public TBinding()
{
SetSource();
}
public TBinding(string path) : base(path)
{
SetSource();
}
}
所以不要写这个:
<TextBlock Text="{Binding Path='hello', Source={StaticResource Translator}}"/>
我可以这样写:
<TextBlock Text="{local:MyBinding Path='hello'}"/>
在运行时完美运行,但设计师没有显示正确的文本。相反,它显示了MyBinding类的类型。
有没有办法在Visual Studio设计器中完成这项工作?