Здравствуйте, SE, Вы писали:
SE>Здравствуйте, iVoffka, Вы писали:
V>>Всем привет.
V>>WPF начал изучать недавно. Как у пользователя WinForms возник вопрос: есть в WPF какой-нибудь аналог свойства Location у контрола? Т.е. мне нужно программно разместить некоторый контрол на форме с нужными мне координатами. Поясню на примере: я щелкаю мышкой на форме/панели и в этой точке размещается контрол, скажем кнопка. В winForms я мог сделать контрол.Location = "нужные координаты", а как это в WPF сделать — неясно. МакДональдс как-то обошел этот момент стороной в своей книге.
SE>И не зря обошел. В WPF совершенно другая идеология размещения — кому сколько надо, тот столько и занял, а остальные подвинулись и подвинули остальных.
SE>Если фиксировать размещение контролов, то стоит только поменять настройки Windows и такие "прибитые гвоздями" контролы начинают друг на друга наползать.
SE>Но если Вам все же ну просто позарез нужно сделать как Вы написали... Добавьте в окно грид, а уже в него вставляйте контролы, указывая каждому отступ слева и сверху (свойство margin), но не указывая позиции в ячейках грида.
Спасибо за совет. Я понимаю, что там идеология размещения другая. Все дело в том, что мне надо рисовать изображения некоторых объектов. Эти изображения я представил в виде Polygon и Ellipse, а они являются контролами. И размещать их надо строго в координатах той точки, где пользователь ткнул мышкой.
Еще вопрос: я сделал UserControl, поместил объект этого контрола на главную форму и обрабатываю событие MouseDown:
<Window x:class=""....
xmlns:local="clr-namespace=Namespace;assembly=MyAssembly">
<local:UserControl MouseDown=handler />
</Window>
Но обработчик не вызывается. Не вызывается он и в случае, если я его определю в самом UserControl. Из-за чего такое возможно?
Большое спасибо за ответы.