1

假设我有以下用于 WPF 用户控件的 XAML:

<Grid Background="#FFCBCBCB">
<Label Content="{Binding Path=Name}"  Margin="115,10,10,91"/>
<Grid/>

当程序运行时,视图会获得一个对象,该对象具有一个名为 Name 的属性。但是,在 Visual Studio 中处理该标签时,该标签不包含任何文本。

有没有办法拥有一个仅用于开发的占位符,以便我可以更好地可视化控件的外观?

我已经阅读了关于 fallbackvalue 的信息,但是这似乎只适用于没有空格的字符串。

<Label Content="{Binding Path=Name, FallbackValue=Iamonelongstring}"  Margin="115,10,10,91"/>
4

1 回答 1

3

你要找的是DesignData

http://blogs.msdn.com/b/mcsuksoldev/archive/2010/08/27/designdata-mvvm-support-in-blend-vs2010-and-wpf-silverlight.aspx

应该给个很好的介绍

您基本上可以设置设计时视图模型以仅在设计时提供数据

http://channel9.msdn.com/events/MIX/MIX11/OPN03

在上面的视频中,您还可以看到演示者创建和使用设计时间数据

附带说明一下,FallbackValue可以支持空格,将文本用单引号括起来。

就像是:

<Label Content="{Binding Path=Name, FallbackValue='I am one long string'}"  Margin="115,10,10,91"/>

不过,您不想这样做,因为FallbackValue这不仅是为了设计时间,而且是为了完全不同的目的。您应该研究DesignData并使用它来帮助您的设计时间工作(当您说将集合之类的东西和与 DataContexts 绑定作为该组中的对象时,它会提供更多帮助。即使选择了,FallbackValue 也会变得无用使用)

于 2013-03-29T19:18:16.260 回答