Kann nicht binden den Inhalt einer contentPresenter
Ich kann nicht herausfinden, was fehlt mir hier. Ich möchte zum binden der Inhalt der ContentPresenter auf ein UIElement. Ich mache so etwas wie dieses:
<Window.Resources>
<DataTemplate x:Key="container">
<Border>
<!--<TextBlock Text="A"/>-->
<ContentPresenter Content="{Binding Element}" />
</Border>
</DataTemplate>
</Window.Resources>
<ContentControl DataContext="{Binding}" ContentTemplate="{StaticResource container}" />
Im Hauptfenster.cs
UIElement Element { get; set; }
public MainWindow()
{
Element = new TextBox() { Text = "A" };
DataContext = this;
InitializeComponent();
}
Kann ich den textBlock direkt, aber wenn ich versuche, den ContentPresenter es zeigt nichts an.
Du musst angemeldet sein, um einen Kommentar abzugeben.
ContentTemplate
ist eine Vorlage für Inhalt. Also, im Fall vonContentControl
,Content
wirdDataContext
desDataTemplate
. Aber Sie können nichtWindow
alsContent
und die Eigenschaft, die Sie binden, muss öffentlich sein.So, nach
Element
öffentlichen Eigentums und die änderung der XAML:"Ein" wird im Fenster angezeigt.
Ich gehe davon aus das ist nicht der echte code, wo Sie stießen auf das Problem, aber sowas sieht sehr seltsam aus. Vielleicht sollten Sie überdenken Ihren Entwurf.