1

私はデータ項目を持っています:

<SampleData:Item Title="Evening News" Channel="ABC" x:Key="sampleData0" />

私の xaml ページには、このアイテムを表示する ContentPresenter があります。

<ContentPresenter ContentTemplate="{StaticResource dt1}" />

データ テンプレートdt1は次のとおりです。

    <DataTemplate x:Key="t2">
        <Grid Background="#FF5599DD" DataContext="{StaticResource sampleData0}"  >
            <Grid.RowDefinitions>
                <RowDefinition/>
                <RowDefinition/>
            </Grid.RowDefinitions>              
            <TextBlock Text="{Binding Title}" />
            <TextBlock Text="{Binding Channel}" Grid.Row="1" />             
        </Grid>         
    </DataTemplate>

これはすべてうまくいきます。しかし、データ テンプレートを自分の Dictionary.xaml ファイルに入れたいので、データ コンテキストを DataTemplate から ContentPresenter に移動する必要があります。

今、私の ContentPresenter は次のようになります。

<ContentPresenter ContentTemplate="{StaticResource dt1}" DataContext="{StaticResource sampleData0}" />

データ テンプレートは次のようになります。

    <DataTemplate x:Key="t2">
        <Grid Background="#FF5599DD">
            <Grid.RowDefinitions>
                <RowDefinition/>
                <RowDefinition/>
            </Grid.RowDefinitions>              
            <TextBlock Text="{Binding Title}" />
            <TextBlock Text="{Binding Channel}" Grid.Row="1" />             
        </Grid>         
    </DataTemplate>

しかし、これはうまくいきません!

RelativeSource を試してみましたが、うまくいきませんでした。

誰でもアイデアはありますか?

4

1 に答える 1

3

プロパティDataContextContentPresenter設定する代わりに。Contentこのような:

<ContentPresenter Content="{StaticResource sampleData0}"
                  ContentTemplate="{StaticResource dt1}"/>
于 2012-06-04T11:32:29.913 に答える