2012-07-24 38 views
0

我已經創建了用戶控件。我想在我的用戶控件中顯示XAML。這樣的:如何在我的用戶控件中顯示xamlcode

<UserControls:UserControl1 Header="Heading"> 
     <TextBlock Text="My Content" /> 
</UserControls:UserControl1> 

多數民衆贊成在用戶控件:

<UserControl x:Class="UserControls.UserControl1" 
      xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" 
      xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" 
      xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006" 
      xmlns:d="http://schemas.microsoft.com/expression/blend/2008" 
      mc:Ignorable="d" MinHeight="200" 
      d:DesignHeight="300" d:DesignWidth="300"> 
    <UserControl.Resources> 
     <Style TargetType="ToggleButton"> 
      <!-- ... --> 
     </Style>   
    </UserControl.Resources> 
    <StackPanel> 
     <Grid> 
      <Grid.ColumnDefinitions> 
       <ColumnDefinition Width="Auto" /> 
       <ColumnDefinition Width="*" /> 
       <ColumnDefinition Width="Auto" /> 
      </Grid.ColumnDefinitions> 
      <TextBlock Text="{Binding Path=Header}" Grid.Column="0" /> 
      <ToggleButton Name="ToggleButton" IsChecked="True" Grid.Column="2" /> 
     </Grid> 
     <Rectangle Stroke="#c3c3c3" StrokeThickness="1" Height="1" StrokeDashArray="4 4" SnapsToDevicePixels="True" Focusable="False" /> 
     <!-- Content --> 
    </StackPanel> 
</UserControl> 

現在我怎麼可以設置XAML代碼(例如<TextBlock Text="My Content" />),在我的控制?

回答

0

您只需添加一個ContentPresenter或ItemsPresenter,具體取決於演示者添加到的項目。

就你而言,如果你想在其他項目下的堆棧面板中的內容,你可以放置一個內容控制,並像這樣添加一個ContentPresenter。

<StackPanel...> 
    <Grid ...> 
     ... 
    </Grid> 
    <Rectangle .../> 
    <!---Content here--> 
    <ContentControl> 
     <ContentPresenter/> 
    </ContentControl> 
</StackPanel> 

如果你只是想支持多於一個內容項,然後使用一些控件suports一個以上的內容,並使用<ItemsPresenter/>代替。

+0

當我使用您的示例代碼時,我只看到如下內容:http://picul.de/view/5GM代碼:http://paste.ubuntu.com/1109724/ – David 2012-07-25 08:39:05

+0

@David您有給網格或網格中包含的東西一個高度。相同的矩形。 – 2012-08-15 14:39:41

相關問題