我在Visual Studio 2012中使用WPF + XAML + MVVM时遇到此错误.
由于未知的DataContext,无法解析符号"MyVariable"
解决办法是什么?
我的数据绑定版本号如下所示:
<Window <!-- ... --> DataContext="{Binding RelativeSource={RelativeSource Self}}">
<Grid>
<TextBlock>
Version is:
<Run Text="{Binding Version, Mode=OneWay}"></Run>
and advancing...
</TextBlock>
</Grid>
</Window>
Run Code Online (Sandbox Code Playgroud)
它在运行期间正在运行.
如何在Visual Studio 2012的XAML编辑器中在设计时看到它?我只看到:
Version is: and advancing...
Run Code Online (Sandbox Code Playgroud)
代替:
Version is: 5.2.2 and advancing...
Run Code Online (Sandbox Code Playgroud)
下面的Jure的答案有效,但我最终使用了虚拟视图模型静态代码技术,这对我来说更好,因为数据是真实视图模型类型的模拟:
d:DataContext="{Binding Source={StaticResource DesignViewModel}}" ...
Run Code Online (Sandbox Code Playgroud) 我有一些UserControl,它DataContext绑定到ViewModel,如何设置ViewModel的属性XAML?是否可以?
UPD:抱歉不太清楚,我试图得到这样的结果:UserControl 的 DataContext 绑定到 ViewModel,我需要将 ViewModel 的属性设置为某些内容(比方说,UserControl 的 Width 属性)。是否可以?
UPD2:这似乎是不可能的。我知道 TwoWay 绑定模式等,我想做的事情 - 将 ViewModel 的属性设置为 UserControl 的属性
这个例子应该很清楚了
<Set Property={Binding SomePropertyOnViewModel}
Value={Binding RelativeSource={RelativeSource Self},
Path=SomePropertyOnUserControl}>
Run Code Online (Sandbox Code Playgroud)