@zmeyloki

Как изменить кол-во ячеек в Grid при изменении ориентации?

Добрый день. Не столь давно начал изучение этой темы, по этому вопрос достаточно банален. Есть незаконченное приложение под Windows Phone, калькулятор. В чем суть проблемы, при портретной ориентации выглядит вполне приятно, но при альбомной... Мягко говоря не очень.
0b4be7a42ec747e7890d53e794182614.png
Как я хочу исправить ситуацию, при изменении на альбомную ориентацию, мне кажется, стоит уменьшить ширину кнопок и шрифт, добавить несколько ячеек с кнопками, вроде tan, sin, cos, корень, квадрат и т.д. Собственно, сам вопрос: "Как мне сделать задуманное ?"
Это делается с помощью стилей или программно, с помощью функций:
public MainPage()
        {
            InitializeComponent();
            this.OrientationChanged +=
                new EventHandler<OrientationChangedEventArgs>(MainPage_OrientationChange);
        }
        void MainPage_OrientationChange (object sender,OrientationChangedEventArgs e)
        {
            if ((e.Orientation == PageOrientation.LandscapeRight)||(e.Orientation == PageOrientation.LandscapeLeft))
            {
                
            }
            else if ((e.Orientation == PageOrientation.PortraitDown)||(e.Orientation == PageOrientation.PortraitUp))
            {
                
            }
        }
  • Вопрос задан
  • 132 просмотра
Решения вопроса 1
@SZolotov
Asp.net core, MAUI,WPF,Qt, Avalonia
Я вижу две проблемы:
1. У вас жестко заданы размеры ячеек и\или текстблока. Нужно установить для грида height у строки и width у слолбца в Auto, для текстблока не указывайте размеры.
2. Не указано свойство Streth у картинки(могу ошибиться в орфографии), поэтому она у вас неправильно масштабируется

Вообще при изменении ориентации экрана добавлять другие кнопки не совсем правильно, но можно добавить ячейки которые будут за экраном в портретной ориентации. При альбомной они покажутся автоматом.

PS. Код в классах страниц - зло, смотрите в сторону MVVM
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы