为了节省打字并使代码更具可读性,我对 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 设计器中完成这项工作?