【问题标题】:Creating a design datacontext in code behind在后面的代码中创建设计数据上下文
【发布时间】:2012-02-17 18:04:09
【问题描述】:

我正在努力改进我在 Blend 中的设计时间体验。

我知道我可以这样做:

d:DataContext="{d:DesignInstance local:vm_d, IsDesignTimeCreatable=True}"

并且 blend/vs 将在设计时显示我与 vm_d 的绑定,但这似乎有些限制(即在使用 DI、泛型时,更不用说我必须手动编辑 XAML 以“改进我的设计时间经验”)。

我宁愿在后面的代码中做这样的事情:

public SimpleLoad()
    {
        InitializeComponent();
        DataContext = new vm_d();
    }

我假设一个问题是我需要设置 IsDesignTimeCreatable?无论如何,有人知道我该如何实现吗?

【问题讨论】:

    标签: wpf silverlight blend


    【解决方案1】:

    在构造函数(或 PageLoaded 处理程序)中添加一些内容:

            if (DesignerProperties.IsInDesignTool)
            {
                SimpleLoad();
            }
    

    【讨论】:

    • 我想也许我在原始帖子中并不清楚。在您的回答中,您建议在构造函数中调用 SimpleLoad,但 SimpleLoad 是我的构造函数。我的想法是我想在构造函数中有一些逻辑来确定(取决于我们是否处于设计模式)要创建哪个视图模型(真实的或仅在设计时使用的虚拟模型)。
    猜你喜欢
    • 2012-12-12
    • 1970-01-01
    • 2011-07-25
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2010-12-16
    • 1970-01-01
    • 2011-11-21
    相关资源
    最近更新 更多