Subclassed Binding在运行时工作,但在设计器中不工作

时间:2013-03-20 03:54:15

标签: c# wpf xaml windows-8 windows-phone-8

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

1 个答案:

答案 0 :(得分:0)

是的,您可以在XAML中使用d:DataContext或d:DesignData来提取样本数据。有一篇文章描述了这个here