Chciałbym zmienić rozmiar koła na moim płótnie za pomocą suwaka. Ten okrąg może być przenoszony na płótnie przez jakiś przeciągnięty kod, który usunąłem z kodu, więc jego pozycja nie jest ustalona.WPF: Zmieniając rozmiar koła, zachowując punkt środkowy zamiast TopLeft?
Związałem wartość suwaka z wysokością i szerokością elipsy. Niestety, kiedy używam suwaka, kółko zmienia rozmiar z lewym górnym punktem (właściwie lewy górny punkt prostokąta, w którym siedzi) pozostając tym samym podczas operacji.
Chciałbym zmienić rozmiar jego punktu centrum punkt jest stały podczas operacji. Czy jest to prosty sposób na XAML? BTW, już wypróbowałem ScaleTransform, ale nie całkiem zrobiłem to, co chciałem.
Wielkie dzięki! :-)
Jan
<Canvas x:Name="MyCanvas">
<!-- this is needed for some adorner stuff I do in code behind -->
<AdornerDecorator Canvas.Left="10"
Canvas.Top="10">
<Ellipse x:Name="myEllipse"
Height="{Binding Path=Value, ElementName=mySlider}"
Width="{Binding Path=Value, ElementName=mySlider}"
Stroke="Aquamarine"
Fill="AliceBlue"
RenderTransformOrigin="0.5 0.5">
<Ellipse.RenderTransform>
<RotateTransform Angle="{Binding Path=Value, ElementName=myRotationSlider}" />
</Ellipse.RenderTransform>
</Ellipse>
</AdornerDecorator>
<Slider x:Name="mySlider"
Maximum="100"
Minimum="0"
Width="100"
Value="10"
Canvas.Left="150"
Canvas.Top="10" />
<Slider x:Name="myRotationSlider"
Maximum="360"
Minimum="0"
Width="100"
Value="0"
Canvas.Left="150"
Canvas.Top="50" />
</Canvas>
Dzięki za odpowiedź! Okazało się, że moje pytanie było niepełne ;-) Położenie koła na płótnie nie jest stałe, dlatego nie znalazłem sposobu na użycie ValueConvertera ... – Jan
Czekaj, to by działało. Musiałbyś mieć konwerter wartości, który ma wartość "value/2 * -1' – Will
Hi Martin! Dzięki - mam zamiar przetestować to w środę i złożyć raport :) – Jan