簡體   English   中英

WP7 ContentPresenter將DataContext傳遞給DataTemplate

[英]WP7 ContentPresenter passing DataContext to DataTemplate

我有一個數據項:

<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,但沒有運氣。

有人有任何想法嗎?

而不是在ContentPresenter設置DataContext ,而是設置Content屬性。 像這樣:

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

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM