Hallo,
Habe mein Problem auf folgendes reduziert:
Ein Usercontrol mit einer eigenen Content-Property namens "BaseContent":
C#-Quelltext
1: 2: 3: 4: 5: 6: 7: 8: 9: 10: 11: 12: 13: 14: 15:
| public partial class DummyUC : UserControl { public static readonly DependencyProperty BaseContentProperty = DependencyProperty.Register("BaseContent", typeof(object), typeof(DummyUC));
public object BaseContent { get { return GetValue(BaseContentProperty); } set { SetValue(BaseContentProperty, value); } }
public DummyUC() { InitializeComponent(); } } |
Dazu die xaml:
XML-Daten
1: 2: 3: 4: 5: 6: 7: 8: 9: 10: 11: 12:
| <UserControl x:Class="TestProjekt.DummyUC" 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" xmlns:local="clr-namespace:TestProjekt" mc:Ignorable="d" d:DesignHeight="300" d:DesignWidth="300"> <Grid> <ContentPresenter Content="{Binding RelativeSource={RelativeSource AncestorType=local:DummyUC}, Path=BaseContent}"/> </Grid> </UserControl> |
Nun habe ich mein Usercontrol in einem Window eingebunden und den BaseContent gesetzt:
XML-Daten
1: 2: 3: 4: 5: 6: 7: 8: 9: 10: 11: 12: 13: 14:
| <Window xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" x:Name="window" x:Class="TestProjekt.MainWindow" xmlns:local="clr-namespace:TestProjekt" Title="TestWindow" Height="444" Width="671.5"> <Grid> <local:DummyUC> <local:DummyUC.BaseContent> <Button Background="Red"/> </local:DummyUC.BaseContent> </local:DummyUC> </Grid> </Window> |
Zur Laufzeit funktioniert das wunderbar. Zur Designtime sehe ich gar nichts.