Я хочу найти два элемента управления на экране, чтобы динамически создавать «Линия» между ними (линия уже находится в коде XAML, и изменение ее хода приведет к ее появлению). Я попытался поймать событие Tapped этих элементов управления и использовать GetPosition(), но линия не в нужном месте (угол правильный, но линия слишком далеко). Некоторые сообщения предложили использовать PointToScreen. Но моя Visual Studio не знает System.Windows.Forms. Зачем ?PointToScreen неизвестен
0
A
ответ
1
Что-то в этом роде?
public void MouseLeftButtonDown(object sender, MouseButtonEventArgs e)
{
var myControl = (YourControlType)sender;
var position = e.GetPosition(myControl);
var controlPosition= myControl.PointToScreen(position);
}
+0
Вот и все, за исключением того, что я не могу назвать PointToScreen, поскольку он не существует. Возможно, отсутствующая Ассамблея или что-то в этом роде (я ничего не понимаю в этом материале «Ссылки») – Myosotis
'PointToScreen' не применим в вашем случае. Это метод из среды Winforms, но ваша аппликация построена с помощью WPF. –
Вы можете использовать [Visual.PointToScreen] (https://msdn.microsoft.com/en-us/library/system.windows.media.visual.pointtsccreen (v = vs.110) .aspx) – Pikoh
Хорошо! Это не правильная структура. Теперь я понимаю, почему это происходит все время. Благодаря ! – Myosotis