我有一个带有数据模板的选项卡控件,该控件根据模板及其绑定(bind)到的源上的数据呈现数据。
但是,这立即使 UI 开发变得更加困难,因为我在 Visual Studio 11 中看不到任何内容,因为所有数据都是在应用程序运行时产生的。是否有某种方法可以添加仅在使用 UI 时出现的测试数据?
最佳答案
MSDN 的这个教程非常完美:http://msdn.microsoft.com/en-us/library/ee823176.aspx
基本上:
创建一个文件DesignData/FooData/Foo.xaml
,其内容如下:
<local:Foo xmlns:local="clr-namespace:YourProject"
SomeProperty="Sample" AnotherProperty="Bar" />
请注意,Foo
必须是存在于 YourProject
命名空间下且具有您刚刚使用的属性的类。
然后从解决方案资源管理器中选择文件,并将构建操作设置为设计数据
。
将命名空间添加到 MainWindow.xaml
代码中:
xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
以及您拥有的其他命名空间。
然后将其添加到您的顶级网格中,例如:
d:DataContext="{d:DesignData Source=./DesignData/FooData/Foo.xaml}"
现在该 Grid 元素下面的元素(在 DataContext 的影响下)可以具有以下属性:
<TabControl ItemsSource="{Binding Mode=OneWay}">...
在我的例子中,我使用了选项卡控件,我的数据上下文是一个集合DesignData/FooData/FooCollection.xaml
:
<local:FooCollection xmlns:local="clr-namespace:YourProject">
<local:Foo Prop1="Sample" Prop2="test" />
...
</local:FooCollection>
关于wpf - 使用 WPF 和数据绑定(bind)时如何在 Visual Studio 11 上获得测试数据?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9606240/