找不到WPF DesignInstance对象

时间:2015-09-28 14:59:39

标签: c# wpf xaml

就像这篇文章Design / Run-time datacontext中提到的那样,我使用design-time datacontext来“装饰”我的(子窗口) usercontrols ,然后将它们收集到我的 MainWindow 从而避免在运行时保留资源

文件 SampleItemWithRun.xaml

<UserControl
 ... 
 xmlns:ViewModel="clr-namespace:WpfAppCertif_1.ViewModel" x:Class="WpfAppCertif_1.Views.SampleItemWithRun"
 ...
 d:DataContext="{d:DesignInstance {x:Type ViewModel:CodeSample}, IsDesignTimeCreatable=True}"
 >
<Grid>
...
</Grid>

但是,我想访问此 DesignInstance ,以便在 usercontrol构造函数 中执行一个小的 adjustement

文件 SampleItemWithRun.xaml.cs

我想编写如下所示的内容,但DataContext为null(如果我将 d:DataContext ... 行放在标记内,则同样如此。 我在调试器下检查了很多 this 对象的字段,但没找到我的 CodeSample 对象

public partial class SampleItemWithRun : UserControl
{
    public SampleItemWithRun()
    {
        InitializeComponent();

        var dc = DataContext; //Not working because Null !!
        var cs = dc as CodeSample;

        if (DesignerProperties.GetIsInDesignMode(this))
        {
            if ( null != cs)
            {
                //do something on the CodeSample object cs
                //...
            }
        }
    }
}

总之,问题是: 我在哪里可以找到我的设计实例对象?

0 个答案:

没有答案