Sichtbarkeit an DataContext binden

Ich habe einen Wertkonverter, der null in Visibility.Collapsed konvertiert. Jetzt versuche ich, es in einem Benutzersteuerelement zu verwenden, damit das gesamte Steuerelement zusammenfällt, wenn es DateContext null ist

Das Steuerelement sieht folgendermaßen aus:

<UserControl x:Class="PhoneApp.Controls.Header"
    xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
    xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
    xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
    xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
    mc:Ignorable="d"
    Visibility="{Binding Converter={StaticResource ToVisibility}}"
    d:DesignHeight="150" d:DesignWidth="480"> <-- some body here -->

Und es wird so verwendet

<my:Header DataContext="{Binding SectionHeader}"/>

Wobei SectionHeader eine Ansichtsmodelleigenschaft ist.

Ich habe ein ähnliches Steuerelement, in dem ich DataContext nicht binde, aber einige benutzerdefinierte DP und das Zusammenfallen dort funktioniert gut. In diesem Fall scheint der Wertekonverter jedoch nur aufgerufen zu werden, wenn SectionHeader! = Null ist. Wenn es null ist, wird das Steuerelement mit leeren untergeordneten Elementen gerendert.

Ich habe darüber nachgedacht, DataContext hier nicht zu verwenden, aber das Steuerelement ist damit viel sauberer.

Warum funktioniert das Binden an DataContext nicht? Was schlagen Sie vor?

Antworten auf die Frage(1)

Ihre Antwort auf die Frage