要做到这一点非常简单,只需在构造函数中设置一个 DataContext :
public MyUserControl()
{
#if !RELEASE
//DataContext = new CustomerList { Customers = new [] {
// new Customer { Name = "Contoso", ZipCode = 12345 },
// new Customer { Name = "NorthWind", ZipCode = 12345 },
//}};
#endif
InitializeComponent();
...
}
注意代码被注释掉的事实。当您想查看数据时,只需取消注释代码即可。这#if !RELEASE
可以防止您意外地将示例数据包含在您的版本中(并避免花费任何 CPU 加载它)。
如果您的示例数据很大,只需将其放入 XML 或数据库中并加载:
public MyUserControl()
{
#if !RELEASE
//DataContext = XmlSerializerManager.Deserialize<CustomerList>(
// File.ReadAllBytes("CustomerSampleData.xml"));
#endif
InitializeComponent();
...
}
无论哪种情况,只要您取消注释代码,示例数据就会显示在设计器中。执行您的应用程序时,它将被真实数据替换。