は、あなたが欲しいものを行うための一つの方法の例です。
まず、コード - UserControl1.xaml.cs
public partial class UserControl1 : UserControl
{
public static readonly DependencyProperty MyContentProperty =
DependencyProperty.Register("MyContent", typeof(object), typeof(UserControl1));
public UserControl1()
{
InitializeComponent();
}
public object MyContent
{
get { return GetValue(MyContentProperty); }
set { SetValue(MyContentProperty, value); }
}
}
とユーザーコントロールのXAML - UserControl1.xaml
<Window x:Class="InCtrl.Window1"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:me="clr-namespace:InCtrl"
Title="Window1" Height="300" Width="300">
<Grid>
<me:UserControl1>
<me:UserControl1.MyContent>
<Button Content="Middle"/>
</me:UserControl1.MyContent>
</me:UserControl1>
</Grid>
</Window>
:
<UserControl x:Class="InCtrl.UserControl1"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
Height="300" Width="300" Name="MyCtrl">
<StackPanel>
<Button Content="Up"/>
<ContentPresenter Content="{Binding ElementName=MyCtrl, Path=MyContent}"/>
<Button Content="Down"/>
</StackPanel>
</UserControl>
そして最後に、XAMLは、私たちの素晴らしい新しいコントロールを使用します
出典
2009-06-09 14:56:34
Nir
いただきました問題以来、WPFの既存のコントロールであることを除いて受け入れ答えと同じことを行い、内蔵コントロールにlink(
HeaderedContentControl
は)ですか?これは非常に簡単ですね... – Tony問題はコレクションとナビゲーションボタンではなく、別のアプリケーションでコントロールを使用するときにコントロールをユーザーコントロールに追加できるようにすることです。 –