5

これについてはすでに質問がありますが、私の質問には答えていません。例えば:

 <ContentControl.Resources>
            <DataTemplate DataType="{x:Type Databinding:RedScreenViewModel}" >
                <Databinding:RedScreen DataContext="{Binding}"/>
            </DataTemplate>
            <DataTemplate DataType="{x:Type  Databinding:BlueScreenViewModel}">
                <Databinding:BlueScreen DataContext="{Binding}" />
            </DataTemplate>
 </ContentControl.Resources>

ご覧のとおり、作成に使用されたViewModelを使用することを期待して、作成されたビューのDataContextを設定しようとしています。しかし、コードビハインドをステップスルーすると、DataContextは常にnullになります。どうすれば私が望むことを達成できますか?ありがとう

4

1 に答える 1

10

Viewコントロールを含むViewModelクラスにを定義するDataTemplateと、自動的にDataContextViewModelに設定されます。

これは機能するはずです:

<ContentControl.Resources>
    <DataTemplate DataType="{x:Type Databinding:RedScreenViewModel}">
        <Databinding:RedScreen />
    </DataTemplate>
    <DataTemplate DataType="{x:Type Databinding:BlueScreenViewModel}">
        <Databinding:BlueScreen />
    </DataTemplate>
</ContentControl.Resources>
于 2012-07-04T19:48:00.673 に答える