Я хочу, чтобы плавающее окно появлялось в позиции курсора с определенным размером.
Я так думал
Код: Выделить всё
int floatingWindowWidth = 500;
int floatingWindowHeight = 300;
var cursorPosition = Cursor.Position;
layoutDocument.FloatingWidth = floatingWindowWidth;
layoutDocument.FloatingHeight = floatingWindowHeight;
layoutDocument.FloatingLeft = cursorPosition.X - floatingWindowWidth / 2
layoutDocument.FloatingTop = cursorPosition.Y - floatingWindowHeight / 2
Это работает не очень хорошо. Кажется, что FloatingLeft и FloatingTop используют абсолютные значения пикселей монитора (мои экраны имеют 1980x1080, 1980x1200, 1980x1200), но Windows и курсор вычисляют и используют виртуальный размер, который имеет ширину 2400 и высоту 1500 для каждого экрана.
Это приводит к скользящему перемещению положения FloatingWindow.
Следующая идея заключалась в том, чтобы получить LayoutFloatingWindowControl и установить его положение, но я понятия не имею, как получить объект.
Есть идеи по этому поводу?
Подробнее здесь: https://stackoverflow.com/questions/790 ... e-cursor-i
Мобильная версия