Wie ich Zugriff auf eine angeschlossene Eigenschaft im Code hinter?
-
23-08-2019 - |
Frage
Ich habe ein Rechteck in meiner XAML und will seine Canvas.Left
Eigenschaft im Code ändern hinter:
<UserControl x:Class="Second90.Page"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
Width="400" Height="300" KeyDown="txt_KeyDown">
<Canvas>
<Rectangle
Name="theObject"
Canvas.Top="20"
Canvas.Left="20"
Width="10"
Height="10"
Fill="Gray"/>
</Canvas>
</UserControl>
Aber das funktioniert nicht:
private void txt_KeyDown(object sender, KeyEventArgs e)
{
theObject.Canvas.Left = 50;
}
Wer weiß, was die Syntax, dies zu tun ist?
Lösung
Canvas.SetLeft(theObject, 50)
Andere Tipps
Versuchen Sie, diese
theObject.SetValue(Canvas.LeftProperty, 50d);
Es gibt eine Gruppe von Methoden auf DependencyObject (Basis der meisten WPF-Klassen), die den gemeinsamen Zugriff auf alle Abhängigkeitseigenschaften ermöglichen. Sie sind
- SetValue
- GetValue
- Clearvalue
Bearbeiten , um den Satz Aktualisierte ein Doppel wörtlichen zu verwenden, da der Zieltyp ein doppelt so hoch ist.
Als wir die Eigenschaft des ‚Objekts‘ ändern, wäre es besser, Methode zu verwenden suggedte von JaredPar:
theObject.SetValue(Canvas.LeftProperty, 50d);
Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow