Blendツールを使用してクラスの1つにxmlサンプルデータを作成し、メイングリッドの次のプロパティを設定することでデザイナー内に正常に表示できるようになりました。
DataContext="{d:DesignData /SampleData/MySampleData.xaml}"
DataContext
子グリッドのをオブジェクトの(複雑な)プロパティに設定するにはどうすればよいですか?たとえば、メインオブジェクトがPersonであり、その複雑なプロパティがStreet、City、Countryなどの子プロパティを持つAddressである場合DataContext
、そのグリッド内のTextBoxが表示されるように、AddressグリッドをこのAddressプロパティに設定するにはどうすればよいですか。デザイナー内のデータ。これらのTextBoxは、次のようにAddressのサブプロパティに直接バインドします。
<TextBox Text="{Binding City}" />
したがって、Address GridのDataContextをAddressプロパティに設定できれば、これらは正常に機能するはずです。
編集 詳細を追加するには、これが私のXAMLです。
<Grid d:DataContext="{d:DesignData /SampleData/MySampleData.xaml}">
<TextBox Text="{Binding Name}" />
<Grid DataContext="{Binding RelativeSource={RelativeSource AncestorType=Grid}, Path=DataContext.Address}">
<TextBox Text="{Binding City}" />
</Grid>
</Grid>
ここでは、Name TextBoxは正常に機能しますが、CityTextBoxは機能しません。
編集2: 私の悪い。間違ったプロパティ名を使用していることがわかりました。すべてが希望どおりに機能します。また、以下のリンクは、設計時のサンプルデータを表示するための優れたリソースであるため、これも回答としてマークします。