Я создал этот простой пользовательский элемент управления кнопкой расширения с WPF:
Пользовательский элемент управления кнопкой расширения http://i31.tinypic.com/1zxqtyx.jpg
Я разработал элемент с Width
и Height
, оба установлены на 100чтобы я мог видеть, что я на самом деле делаю.Сокращенный XAML этого пользовательского элемента управления:
<UserControl x:Class="Foobar.ExpandButton"
...
Width="100" Height="100">
...
<Border>
...
<Canvas>
<Line ... X1="20" Y1="20" X2="50" Y2="50"/>
<Line ... X1="80" Y1="20" X2="50" Y2="50"/>
<Line ... X1="20" Y1="50" X2="50" Y2="80"/>
<Line ... X1="80" Y1="50" X2="50" Y2="80"/>
</Canvas>
</Border>
</UserControl>
В конце концов, кнопка должна иметь возможность отображать корректно при различных размерах, например, в 20 × 20 точках.Однако из-за координат, используемых с элементами Line
, я не могу просто вставить этот пользовательский элемент управления в другое окно, например:
<foobar:ExpandButton Width="20" Height="20" /> <!-- doesn't scale correctly! -->
I может применить LayoutTransform
→ScaleTransform
каждый раз, когда я использую элемент, размер которого отличается от размера по умолчанию 100 × 100 точек, но должно быть лучшее решение.
Как определить координаты линий так, чтобы ониотносятся к общему размеру пользовательского элемента управления?