Visual Studio 2010 Visual Designer 是否允许在设计时通过外部 XML 文件加载数据?
看来我可以通过 d:DataContext 添加它,但我有很多数据,通过 XML 加载它更容易。那么这可能吗?
Visual Studio 2010 Visual Designer 是否允许在设计时通过外部 XML 文件加载数据?
看来我可以通过 d:DataContext 添加它,但我有很多数据,通过 XML 加载它更容易。那么这可能吗?
您可以做的一件事是制作您将在运行时使用的存储库(或其他对象)的设计时版本。我经常使用的一个简单方法就是这样。
在 App.xaml 中:
<Application ...>
<Application.Resources>
<local:MyClass x:key="DesignData"/>
</Application.Resources>
</Application>
然后在您的类构造函数中,您可以检测到您处于设计模式并相应地填充数据:
public class MyClass
{
public MyClass()
{
bool isInDesign = DesignerProperties.GetIsInDesignMode(new DependencyObject());
if (isInDesign)
{
// Load your XML + other setup routines.
}
// Normal ctor code.
}
}
最后,将此项目及其数据用作您的上下文。
<Window ...>
<Grid d:DataContext="{StaticResource DesignData}">
...
</Grid>
</Window>
这可能是您可以用来获取复杂设计时数据的最简单方法。当然,对于非常复杂的场景,您可能需要使用“MyClass”的子类或其他方法,但听起来您知道足以应付这些。从个人经验来看,您可以使用这种方法为您能想到的任何程序状态制作设计数据,甚至可以根据需要从数据库中提取实时数据。当然,越早开始考虑应用程序中的设计数据,就越容易使其真正发挥作用。