locked
Масштабирование интерфейса приложения RRS feed

  • Вопрос

  • Хотел сделать,чтобы кнопки меняли размер в зависимости от размера экрана. 

    Чтобы кнопки были достаточно большими,но при этом не вылазили за границы экрана.

    У меня есть фоновый канвас,который растянут по ширине и высоте. 

    Хотел использовать его свойство ActualWidth например для определения ширины экрана. Но не вышло. Если канвас растянут,то в этой переменной лежит 0. А простые ширина и высоты не определены.

    Тогда вот решил,может можно как-то узнать разрешение экрана. Но не получается найти решение для этого класса приложений. 

    Что тут можно сделать? Целью на самом деле является масштабирование интерфейса. 

    2 апреля 2014 г. 8:35

Ответы

  • Вам наверно надо обрабатывать событие Window.Current.SizeChanged.

    Метод вторым аргументом получает параметр  типа WindowSizeChangedEventArgs и уже у него есть свойство Size у которого в свою очередь есть свойства Height и Width.

    • Предложено в качестве ответа LXGDARK 2 апреля 2014 г. 9:16
    • Помечено в качестве ответа mpnj 2 апреля 2014 г. 11:27
    2 апреля 2014 г. 8:48

Все ответы

  • Вам наверно надо обрабатывать событие Window.Current.SizeChanged.

    Метод вторым аргументом получает параметр  типа WindowSizeChangedEventArgs и уже у него есть свойство Size у которого в свою очередь есть свойства Height и Width.

    • Предложено в качестве ответа LXGDARK 2 апреля 2014 г. 9:16
    • Помечено в качестве ответа mpnj 2 апреля 2014 г. 11:27
    2 апреля 2014 г. 8:48
  • Кажется работает. Спасибо.
    2 апреля 2014 г. 9:10
  • Несмотря на то, что ответ уже дан стало интересно, а почему вы используете в качестве контейнера канвас? Это необходимо конкретно в вашем макете или вам привычнее работать с канвасом?

    VB.Net - WPF, WinRT, WP

    2 апреля 2014 г. 9:18
  • А вот не знаю. Я новичок в написании НЕконсольных приложений. При этом что-то читал по теме когда-то мельком. И вот решил попробовать практики немного вкусить. Ну и как-то слышал,что все используют канвасы.

    Хотя я заметил,что у меня там канвас на гриде лежит. Наверно можно грид оставить,а канвас убрать к чертям,т.к. мне просто нужен фон заданного цвета. 

     
    • Изменено mpnj 2 апреля 2014 г. 12:05
    2 апреля 2014 г. 11:26
  • как раз событие грида по изменению размера я и решил обрабатывать.
    2 апреля 2014 г. 11:26
  • Ну и как-то слышал,что все использую канвасы.


    Глупости вы слышали вот и мучаетесь теперь.

    Хорошо построенная разметка с использованием стандартных контейнеров исключает те проблемы, с которыми вы столкнулись и еще столкнотесь


    VB.Net - WPF, WinRT, WP

    2 апреля 2014 г. 11:31
  • А что тогда нужно использовать? 
    2 апреля 2014 г. 12:05
  • А что тогда нужно использовать? 
    А вот тут все идеально расписано!

    VB.Net - WPF, WinRT, WP

    2 апреля 2014 г. 12:06
  • Спасибо,почитаю.
    2 апреля 2014 г. 12:09