Я не могу использовать свойство SetTop Canvas в приложении Silverlight. Ниже приведен минимальный код для воспроизведения проблемы
from System import TimeSpan
from System.Windows import Application, Duration, PropertyPath
from System.Windows.Controls import Canvas, TextBlock
from System.Windows.Media import SolidColorBrush, Colors
from System.Windows.Media.Animation import (
DoubleAnimation, Storyboard, RepeatBehavior
)
root = Canvas()
root.Children.Clear()
root.Resources.Clear()
#root.Background = SolidColorBrush(Colors.Black)
parent = Canvas(Width = 100, Height = 100)
parent.Background = SolidColorBrush(Colors.Black)
parent.SetTop(root, 0)
parent.SetLeft(root, 0)
parent2 = Canvas(Width = 100, Height = 100)
parent2.Background = SolidColorBrush(Colors.Blue)
parent2.SetTop(root, 100)
root.Children.Add(parent)
Application.Current.RootVisual = root
Строка "parent2.SetTop (root, 100)" меняет позицию, в которой будет отображаться parent1.
Такое поведение удивительно. Я даже не добавляю parent2 как один из дочерних объектов, но он влияет на макет.
Может кто-нибудь объяснить, что я делаю не так?