Abhängigkeit Eigenschaft zugewiesen mit dem Wert Bindung funktioniert nicht

Ich habe ein usercontrol mit einer Abhängigkeitseigenschaft.

public sealed partial class PenMenu : UserControl, INotifyPropertyChanged
{
    public event PropertyChangedEventHandler PropertyChanged;
    protected void OnPropertyChanged(string propertyName)
    {
        if (PropertyChanged != null)
        {
            PropertyChanged(this, new PropertyChangedEventArgs(propertyName));
        }
    }         

    public bool ExpandCollapse
    {
        get
        {
            return false;
        }

        set
        {
            //code
        }
    }
public static readonly DependencyProperty ExpandCollapseProperty = DependencyProperty.Register("ExpandCollapse", typeof(bool), typeof(PenMenu), null);
//some more code
}

Und ich bin die Zuordnung Wert in XAML-Seite:

<Controls:PenMenu x:Name="penMenu" Opened="Menu_Opened" 
                         ExpandCollapse="{Binding PenMenuVisible}" />

Aber es ist nicht zu schlagen, GET-SET-Teil ExpandCollapse Eigenschaft in das Benutzersteuerelement.
Also ich habe bool bool converter genau zu überprüfen, welcher Wert übergeben wird, mit Bindung wie:

<Controls:PenMenu x:Name="penMenu" Opened="Menu_Opened" 
                         ExpandCollapse="{Binding PenMenuVisible, Converter={StaticResource booleanToBooleanConverter}}" />

Und mit Haltepunkt im Konverter, sehe ich den Wert übergeben wird ist korrekt.
Was ist die mögliche Ursache es ist nicht zugeordnet, um die Abhängigkeit Eigenschaft?

Auch in der XAML-Seite, wenn ich sage:

<Controls:PenMenu x:Name="penMenu" Opened="Menu_Opened" 
                         ExpandCollapse="true"/>

dann trifft es die GET-SET-Teil ExpandCollapse Eigenschaft in das Benutzersteuerelement.
Ich bin steckengeblieben. Das ist seltsam. Bitte helfen Sie.

Häufiges problem. Sorry, Sie haben es. Siehe meine Antwort unten.
Für Entwickler, finden Sie diese, bitte beachten Sie, dass bei den framework-updates eine Abhängigkeitseigenschaft es NICHT die CLR-Eigenschaften, die es liest und schreibt die dp direkt, die ist, warum müssen Sie den geänderten Termin.

InformationsquelleAutor ashish nirkhe | 2013-11-19

Schreibe einen Kommentar