2012-11-05 11 views
0

我有一個ContentControl,我有一個網格。第1列將是一個TreeView,第2列是分離器,並且我已將第3列設置爲ContentPresenter。這樣定義:ContentPresenter問題

<ContentPresenter Grid.Column="2" Name="PlaceHolder" /> 

如果我然後我ContentControl中添加到頁面中,並添加到ContentControl中並不只是出現在第2列項,而是跨越ContentControl中的整個寬度。這是我補充一下到ContentPresenter:

<MyNamespace:MyControlName> 
    <Button>Hello world!</Button> 
</MyNamespace:MyControlName> 

我怎樣才能獲得按鈕只出現在第2列,並在列0 TreeView中顯示爲正常嗎?

在此先感謝。

+0

郵政ContentControl中 –

回答

1

您,當您使用要覆蓋ContentControl.Content將其設置爲Button代替

您需要設置控制在ContentControlContentControl.Content屬性設置爲你的Grid,那麼你GridContentControl.ContentTemplate,而不是實際Content,並修改ContentPresenter顯示Content財產

<ContentControl ...> 
    <ContentControl.Template> 
     <ControlTemplate TargetType="{x:Type ContentControl}"> 
      <Grid> 
       ... 
       <ContentPresenter Grid.Column="2" Name="PlaceHolder" 
            Content="{TemplateBinding Content}" /> 
       ... 
      </Grid> 
     </ControlTemplate> 
    </ContentControl.Template> 
</ContentControl> 
+0

試過的是,b的充分XAML utton仍然擴展以填充ContentControl的整個寬度 –

+0

@RobertLancaster請參閱我修改後的答案,其基於您發佈的XAML – Rachel

+0

也嘗試過......現在我的ContentControl中沒有任何內容顯示。 –

相關問題