2011-11-29 19 views
0

我有一個內容控制,這並不表明只有結合數據的靜態文本:Datatemplate綁定應該可以工作,但不會。有沒有這方面的外部來源?

<ContentControl Name="Detail" Grid.Row="3" Grid.ColumnSpan="3" 
      ContentTemplate="{StaticResource detailsAdListingTemplate}" 
      Margin="9,0,0,0"/> 

<DataTemplate x:Key="detailsAdListingTemplate" > 
      <Grid Margin="5,5,5,10"> 
       <Grid.RowDefinitions> 
        <RowDefinition/> 
        <RowDefinition/> 
        <RowDefinition/> 
        <RowDefinition/> 
        <RowDefinition/> 
        <RowDefinition/> 
        <RowDefinition/> 
       </Grid.RowDefinitions> 
       <Grid.ColumnDefinitions> 
        <ColumnDefinition Width="113"/> 
        <ColumnDefinition Width="*"/> 
       </Grid.ColumnDefinitions> 

       <TextBlock Grid.Row="0" Grid.Column="0" Margin="0,0,8,0" 
          Name="title" 
          Style="{StaticResource smallTitleStyle}">Title:</TextBlock> 
       <TextBlock Name="DescriptionDTKey" Grid.Row="0" Grid.Column="1" 
        Text="{Binding Path=Title}" 
        Style="{StaticResource textStyleTextBlock}"/> 

       <TextBlock Grid.Row="1" Grid.Column="0" Margin="0,0,8,0" 
          Name="price" 
          Style="{StaticResource smallTitleStyle}">Price:</TextBlock> 
       <StackPanel Grid.Row="1" Grid.Column="1" Orientation="Horizontal"> 
        <TextBlock Text="$" Style="{StaticResource textStyleTextBlock}"/> 
        <TextBlock Name="PriceDTKey" 
         Text="{Binding Path=Price}" 
         Style="{StaticResource textStyleTextBlock}"/> 
       </StackPanel> 

       <TextBlock Grid.Row="2" Grid.Column="0" Margin="0,0,8,0" 
         Name="date" 
         Style="{StaticResource smallTitleStyle}">Date:</TextBlock> 
       <TextBlock Name="DateDTKey" Grid.Row="2" Grid.Column="1" 
        Text="{Binding Path=Date}" 
        Style="{StaticResource textStyleTextBlock}"/> 
       <TextBlock Grid.Row="3" Grid.Column="0" Margin="0,0,8,0" 
          Name="subCategory" 
          Style="{StaticResource smallTitleStyle}">Subcategory: </TextBlock> 
       <TextBlock Name="SubCategoryDTKey" Grid.Row="3" Grid.Column="1" 
        Text="{Binding Path=SubCategory.Name}" 
        Style="{StaticResource textStyleTextBlock}"/> 

       <TextBlock Grid.Row="4" Grid.Column="0" Margin="0,0,8,0" 
          Name="owner" 
          Style="{StaticResource smallTitleStyle}">Owner:</TextBlock> 
       <TextBlock Name="OwnerDTKey" Grid.Row="4" Grid.Column="1" 
        Text="{Binding Path=User.Username}" 
        Style="{StaticResource textStyleTextBlock}"/> 

       <TextBlock Grid.Row="5" Grid.Column="0" Margin="0,0,8,0" 
          Name="location" 
          Style="{StaticResource smallTitleStyle}">Location: </TextBlock> 
       <TextBlock Name="locationDTKey" Grid.Row="5" Grid.Column="1" 
        Text="{Binding Path=Location}" 
        Style="{StaticResource textStyleTextBlock}"/> 

       <TextBlock Grid.Row="6" Grid.Column="0" Margin="0,0,8,0" 
          Name="Body" 
          Style="{StaticResource smallTitleStyle}">Body:</TextBlock> 
       <TextBlock Name="BodyDTKey" Grid.Row="6" Grid.Column="1" 
        Text="{Binding Path=Body}" 
        Style="{StaticResource textStyleTextBlock}"/> 

      </Grid> 
     </DataTemplate> 

我設置Detail.DataContext =廣告; (其中廣告是一個適當的廣告對象,其中包含{綁定路徑=屬性}中的所有數據和所有屬性。

它用於工作微調。我不記得編輯它。我做的應用程序,但現在的數據模板 只顯示靜態文本 - 例如標題:但沒有實際的標題。所以只有綁定不起作用。

我敢肯定沒有錯誤的xaml上面的代碼,它應該工作。

是否有可能導致這一問題的「外部」其他來源?

+0

我正在使用棱鏡區域,棱鏡與MEF沒什麼奇特的只是一些出口和進口。 MEF容器能搞砸東西嗎? –

+0

我在運行時通過按鈕單擊檢查Detail.DataContext設置爲包含所有數據的Ad類型對象。它仍然沒有表現出來。 –

+0

謝謝。它工作正常。 –

回答

3

ContentTemplate是用來顯示ContentControl.Content的模板,你離開的null

任一組(而非Detail.DataContextDetail.Content = ad;,或者您ContentControl.Content屬性綁定到當前的DataContext。

<ContentControl Name="Detail" Grid.Row="3" Grid.ColumnSpan="3" Margin="9,0,0,0" 
       Content="{Binding }" 
       ContentTemplate="{StaticResource detailsAdListingTemplate}" /> 
+0

謝謝它工作正常。 –

相關問題