MVVMCross和Visual Studio设计模式:任何设置DataContext的方法

时间:2014-01-19 07:53:23

标签: mvvmcross

在我发现的样本中,xaml中的绑定完成如下(来自TipCalc Phone):

<TextBlock Text="{Binding Total}"></TextBlock>

当然它在运行时工作;但在设计模式下,如果我按住Ctrl键单击Total Property,VS会执行符号搜索并显示结果。

已经尝试了很多东西,但似乎无法在不进行搜索的情况下将其转到viewModel属性。我错过了什么?

解决:

没关系;想出来..在xaml页面上,我需要把它放在根节点。

d:DataContext="{d:DesignInstance vm:SettingsViewModel, IsDesignTimeCreatable=False}"

其中vm是命名空间;现在单击绑定属性直接进入viewModel:)

我想知道为什么没有这样的样本;因为它是一个设计环境,它应该对实际应用没有影响,对吧?

1 个答案:

答案 0 :(得分:0)

我自己的答案

d:DataContext="{d:DesignInstance vm:SettingsViewModel, IsDesignTimeCreatable=False}"

有它自己的缺点;我的viewModel都没有构造函数,这意味着我不能将IsDesignTimeCreatable设为True;我有一个页面,我使用国家列表,用户选择一个:所选项目是一个具有iso和国家名称的对象。使用DataContext,设计视图中的xaml会给出一个错误,说List中的selectedItem不能为null(因为该对象不存在);我使用了Fallback = null,这很丑陋并且有自己的问题。

目前另一种方法是使用Sample Data文件,可以使用Blend从类生成;它不是很好(因为它无法刷新),但有效。