2015-05-19 6 views
4

Как я могу получить размер экрана максимального размера, размер приложения можно изменить на Win 10 UWP?Получить доступный размер экрана

Также можно определить, максимизировано или работает приложение в режиме телефона/планшета или в оконном режиме?

ответ

0

Не существует «максимального размера» как такового. Поддержка Windows 10 для 8K-разрешений (7680 * 4320) была упомянута в прессе, так что она будет близка к «максимальному размеру», как вы увидите, и в ближайшем будущем это не будет общим размером экрана.

Помните, что универсальные приложения Windows и приложения для Windows 8 Store отображают размер окна как комбинацию логического размера и DPI. Вы преобразовать его в физические пиксели со следующей математикой:

// Converts a length in device-independent pixels (DIPs) to a length in physical pixels. 
inline float ConvertDipsToPixels(float dips, float dpi) 
{ 
    static const float dipsPerInch = 96.0f; 
    return floorf(dips * dpi/dipsPerInch + 0.5f); // Round to nearest integer. 
} 

Информация о дисплее получается из класса WinRT DisplayInformation, и вы можете контролировать некоторые аспекты «режим» с помощью ApplicationView.

0

В качестве идеи: проверьте, работает ли приложение на телефоне/планшете/ПК, вы можете использовать пользовательские VisualStateTriggers и проверять устройство-familly. В сети есть несколько образцов.

Возможно, это помогает ?!

5

Максимальный размер приложения можно изменить на (т. Е. «Рабочая область», то есть размер экрана минус панель задач)? Невозможно получить эту информацию.

Примечание: вы можете вызвать ApplicationView.GetForCurrentView(). TryResizeView (новый размер (500, 500)) для программного изменения размера. Но это не будет изменяться больше, чем рабочая область.

Можно ли определить, в каком режиме находится приложение?

UIViewSettings.GetForCurrentView.UserInteractionMode говорит ли вы в режиме «мыши» (оконного) или «сенсорный режим» (телефон/таблетка).

ApplicationView.GetForCurrentView.TryEnterFullScreenMode() будет пытаться поставить вас в полноэкранном режиме (на рабочем столе, это означает, что ваше приложение является полный экран без каких-либо задач, по телефону, это означает, что нет статусной и нет «мягкие навигационные кнопки»). Вы также можете вызвать ExitFullScreenMode(). Свойство IsFullScreenMode скажет, вошли ли вы в полноэкранный режим через этот API. (есть еще один устаревший API под названием «IsFullScreen», который вы не должны использовать).

Я не знаю, как определить, насколько оно максимально.

+0

Если дисплей интегрирован (телефон, планшет, ноутбук), вы можете использовать ['GetIntegratedDisplaySize'] (https://msdn.microsoft.com/en-us/library/windows/desktop/dn904185 (v = vs. 85) .aspx), чтобы определить размер дисплея. К сожалению, в сценарии с несколькими мониторами он не скажет вам, что вы на интегрированном дисплее или нет. –

1

ApplicationView .GetForCurrentView(). IsFullScreen может помочь вам определить, находится ли ваше приложение в полноэкранном режиме. Полагаю, это то, что вам нужно.

+0

Хотя эта ссылка может ответить на вопрос, лучше включить основные части ответа здесь и предоставить ссылку для справки. Ответные ссылки могут стать недействительными, если связанная страница изменится. –

+0

Спасибо. Я буду считать, что –