Design Time Dataを使用して、ソリューションで豊富なバインディングエクスペリエンスを提供することもできます。それは少しセットアップして実行するのは難しいが、ここに要点がある。
まず、xamlでDataContextを作成します。新しいXmlドキュメントをソリューションに追加します(ルートは適切です).xaml拡張子を付けます。この例では、このファイルを "foo.xaml"と呼ぶことができます。
このファイルでは、すべてのXMLを削除し、DataContext型のインスタンスの作成を開始します。たとえば、あなたのDataContextは、文字列(非常に簡単な例)であった場合は、あなたのファイルには、次のようになります。
<string xmlns="clr-namespace:System;assembly=mscorlib">LOL!</string>
あなたは、あなたがこのファイルのビルドアクションを設定し
<ViewModel xmlns="clr-namespace:MyNamespace">
<ViewModel.MyObservableCollection>
<MyModel Name="foo" />
<!-- etc -->
のように見えるかもしれませんDesignDataWithDesignTimeCreatableTypes:
次は、あなたのビューでは、あなたのWiのルートに次の名前空間とプロパティを追加しますndow /ユーザーコントロール:
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
mc:Ignorable="d"
d:DataContext="{d:DesignData Source=foo.xaml}"
Source
は、現在のドキュメントに相対的です。だから、あなたのソリューションは、あなたワット
ように見えた場合odはSource
を../Data/foo.xaml
に設定します。
あなたのViewModelは、設計時にインスタンス化することができるかどうかに応じてDesignDataコンテキストを作成する他の方法は
まさに私が探していたものです。ありがとうございました! –
ようこそ。 – jCoder
ここでのリスクは、何らかの理由でプロパティがNullの場合、実行時にフォールバック値も表示されるということです。シナリオによっては、これは望ましいものではありません。 –