WPF - Stil-Setter-Eigenschaft Binden
Dieser funktioniert.
<Setter Property="Width" Value="300" />
<Setter Property="Height" Value="300" />
Aber Wenn ich die Einstellung ändern, funktioniert nicht.
<Setter Property="Width" Value="{Binding ImageSize, Mode=TwoWay}" />
<Setter Property="Height" Value="{Binding ImageSize, Mode=TwoWay}" />
und erklären
private Int32 imageSize;
public Int32 ImageSize
{
get { return imageSize; }
set
{
imageSize = value;
NotifyPropertyChanged("ImageSize");
}
}
Was ist falsch?
- Wo sind Sie, die Einstellung der
DataContext
auf das Element den Stil betrifft? - Auf UserControl, DataContext="{Binding ElementName = CodeBehind}"
- Und dann haben Sie das Benutzersteuerelement namens CodeBehind? Die wahrscheinlichste Ursache ist, dass es nicht zu finden, der ImageSize-Eigenschaft auf die
DataContext
. Überprüfen Sie Ihre Ausgabe-Fenster, um zu sehen, ob es irgendwelche verbindlichen Fehler und vielleicht post mehr von deinem code, so ist es leichter zu beheben. - Vielen Dank Brian. Das ist sehr hilfreich. Es ist ein Fehler auf der Ausgabe-Fenster: Fehler: 40 : BindingExpression Pfad-Fehler: 'ImageSize' Eigenschaft nicht gefunden '- Objekt' "ListObject' ich verstanden, mein Fehler. Nochmals vielen Dank.
- Kein problem, gerne helfen. Ich wickelte den Kommentar in eine Antwort unter, so dass Sie überprüfen können, diese Frage aus als beantwortet. Viel Glück!
Du musst angemeldet sein, um einen Kommentar abzugeben.
Die wahrscheinlichste Ursache ist ein problem mit der Bindung und insbesondere die
DataContext
. Ich würde empfehlen, sich im Ausgabe-Fenster für eine verbindliche Fehler (Sie werden nicht angehoben, da die Norm Ausnahmen, aber Sie werden gefangen in der Ausgabe-Fenster für debugging-Zwecke). Die binding-Fehler sollten Sie in die richtige Richtung, so weit wie das, was WPF erkennt, wie dieDataContext
.