Wpf 如何在my usercontrol中显示xamlcode
我已经创建了用户控件。我想在usercontrol中显示XAML。就像这样:Wpf 如何在my usercontrol中显示xamlcode,wpf,user-controls,contentpresenter,Wpf,User Controls,Contentpresenter,我已经创建了用户控件。我想在usercontrol中显示XAML。就像这样: <UserControls:UserControl1 Header="Heading"> <TextBlock Text="My Content" /> </UserControls:UserControl1> 这就是用户控件: <UserControl x:Class="UserControls.UserControl1" xm
<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代码(例如,
)?您只需根据添加演示者的项目添加ContentPresenter或ItemsPresenter即可
在您的情况下,如果您希望堆栈面板中的内容位于其他项的下方,您可以放置一个内容控件,并像这样在其中添加ContentPresenter
<StackPanel...>
<Grid ...>
...
</Grid>
<Rectangle .../>
<!---Content here-->
<ContentControl>
<ContentPresenter/>
</ContentControl>
</StackPanel>
...
如果您只想支持多个内容项,那么请使用一些支持多个内容的控件,并改用
。当我使用您提供的示例代码时,我只看到这样的内容:code:@David您必须给网格或网格中包含的某些内容一个高度。矩形也一样。