0

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: 私の悪い。間違ったプロパティ名を使用していることがわかりました。すべてが希望どおりに機能します。また、以下のリンクは、設計時のサンプルデータを表示するための優れたリソースであるため、これも回答としてマークします。

4

0 に答える 0