Привет, я реализую приложение с поддержкой DPI, где я хочу рассчитать положение окна на основе текущего разрешения.
Я протестировал приведенный ниже код в Windows 8.1, где ОС не запрашивает повторный вход в систему, если мы изменим настройку DPI. он применяет DPI немедленно.
var presentationSource = PresentationSource.FromVisual(this);
transform = presentationSource.CompositionTarget.TransformToDevice;
int width = transform.m11 * SystemParameters.PrimaryScreenWidth;
int height = transform.M22* SystemParameters.PrimaryScreenHeight;
но если я изменяю DPI с помощью mspanel без выхода из системы и повторного входа в систему, TransformToDevice() возвращает старое значение вместо нового. Я думал, что эта матрица преобразования изменится, если изменятся настройки DPI.
Есть ли метод, который я должен вызывать при изменении настроек DPI?