ich im Anschluss an die in diesem Thread gegebenen Antworten hier: Access codebehind variable in XAMLBind Renderelemente an Code-behind Variablen
Hier ist, was ich versuche zu tun:
<Rectangle Name="MyRect" Fill="AliceBlue" MouseDown="Rectangle_MouseDown">
<Rectangle.RenderTransform>
<TransformGroup>
<RotateTransform Angle="0" CenterX="300" CenterY="150"/>
<TranslateTransform X="{DynamicResource TransX}" Y="0"/>
</TransformGroup>
</Rectangle.RenderTransform>
</Rectangle>
Dann habe ich eine Variable in meinem Code hinter dem sich ändert. Es heißt TransX und ich fügen Sie es als Ressource:
public double TransX = 0;
public SvgPreview()
{
InitializeComponent();
SvgPreview1.Resources.Add("TransX", TransX);
}
Das Rechteck von Anfang an ordnungsgemäß umgewandelt wird erhalten, aber die Transformationen werden nicht neu gerendert Änderungen in der TransX Variable zu reflektieren. Was soll ich machen?
Auch muss ich genau dasselbe für mehrere andere Werte tun.
Ich bin ziemlich verwirrt. Ich habe keine solche Methode namens "OnNotifyPropertyChanged" –
+1, ich habe gerade das gleiche Beispiel :) –
@Adam: Es sieht so aus: 'öffentliche void OnPropertyChanged (String propertyName) {if (PropertyChanged! = null) PropertyChanged (dies, neues PropertyChangedEventArgs (propertyName)); } ' – Jens