Wenn man in Silverlight Projekten Datenklassen erstellt und dann bindet entsteht der Wunsch im Designer schon einen sinnvollen Preview zu haben. Für Expression Blend gibt es die Möglichkeit mit Designtime zu arbeiten. In diesem Silverlight Beispiel will ich aber direkt die DAL pimpen. Dafür muss einfach der Konstrukor herhalten, der für die verschiedenen Fälle unterschiedliche Daten generiert.
Public Class person
Implements INotifyPropertyChanged
public Sub New()
If DesignerProperties.IsInDesignTool Then
_name = "hannesp ist ein Designer"
Else
If HtmlPage.IsEnabled Then
_name = "hannesp nuttzt den Webbrowser"
Else
_name = "hannesp startet die Anwendung OOB"
End If
End If
End Sub
Die Bindung wird voll deklarativ durchgeführt.
<UserControl.Resources>
<local:person x:Key="personDataSource" d:IsDataSource="True"/>
</UserControl.Resources>
<Grid x:Name="LayoutRoot" Background="White"
DataContext="{Binding Source={StaticResource personDataSource}}">
<TextBox Height="23" Margin="151,23,12,0"
TextWrapping="Wrap" Text="{Binding name, Mode=TwoWay}">
In Visual Studio 2010 (cidder)
Im Webbrowser
Out Of Browser (OOB)