Форум программистов, компьютерный форум CyberForum.ru

Программирование Windows Phone

Войти
Регистрация
Восстановить пароль
 
BoOMka
0 / 0 / 1
Регистрация: 20.03.2015
Сообщений: 48
#1

Ориентация приложения - Windows Phone

12.12.2015, 15:20. Просмотров 180. Ответов 0
Метки нет (Все метки)

Всем привет. Подскажите пожалуйста, в чем моя ошибка. Написана простая программа "сумматор", которая вычисляет сумму 2-х значений(естественно с обработкой ошибок ввода, т.е. нельзя ввести текст, можно только цифры). Я хочу адаптировать эту программу к изменению ориентации. Вот коды:
haml-файл
C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
<phone:PhoneApplicationPage 
    x:Class="PhoneApp2.MainPage"
    xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
    xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
    xmlns:phone="clr-namespace:Microsoft.Phone.Controls;assembly=Microsoft.Phone"
    xmlns:shell="clr-namespace:Microsoft.Phone.Shell;assembly=Microsoft.Phone"
    xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
    xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
    mc:Ignorable="d" d:DesignWidth="480" d:DesignHeight="768"
    FontFamily="{StaticResource PhoneFontFamilyNormal}"
    FontSize="{StaticResource PhoneFontSizeNormal}"
    Foreground="{StaticResource PhoneForegroundBrush}"
    SupportedOrientations="PortraitOrLandscape" Orientation="Portrait"
    shell:SystemTray.IsVisible="True">
 
    <!--LayoutRoot представляет корневую сетку, где размещается все содержимое страницы-->
    <Grid x:Name="LayoutRoot" Background="Transparent" FlowDirection="RightToLeft" HorizontalAlignment="Stretch">
        <Grid.RowDefinitions>
            <RowDefinition Height="Auto"/>
            <RowDefinition Height="*"/>
        </Grid.RowDefinitions>
 
        <!--TitlePanel содержит имя приложения и заголовок страницы-->
        <StackPanel x:Name="TitlePanel" Grid.Row="0" Margin="12,17,0,28">
            <TextBlock x:Name="ApplicationTitle" Text="Первое приложение: СУММАТОР" Style="{StaticResource PhoneTextNormalStyle}"/>
            <TextBlock x:Name="PageTitle" Text="СЛОЖЕНИЕ" Margin="9,-7,0,0" Style="{StaticResource PhoneTextTitle1Style}"/>
        </StackPanel>
 
        <!--ContentPanel — поместите здесь дополнительное содержимое-->
        <Grid x:Name="ContentPanel" Grid.Row="1" Margin="12,0,12,0">
            <TextBox Height="72" HorizontalAlignment="Center" Margin="0,6,0,0" Name="firstNumberTextBox" Text=" " VerticalAlignment="Top" Width="460" />
            <TextBlock Height="30" HorizontalAlignment="Left" Margin="213,84,0,0" Name="plusTextBlock" Text="+" VerticalAlignment="Top" />
            <TextBox Height="72" HorizontalAlignment="Center" Margin="0,123,0,0" Name="secondNumberTextBox" Text=" " VerticalAlignment="Top" Width="460" />
            <Button Content="Сумма" Height="72" HorizontalAlignment="Left" Margin="141,226,0,0"
    Name="equalsButton" VerticalAlignment="Top" Width="160"
    Click="equalsButton_Click" />
            <TextBlock Height="51" HorizontalAlignment="Left" Margin="12,336,0,0" Name="resultTextBlock" Text="0" VerticalAlignment="Top" Width="441" FontSize="28" TextAlignment="Center" />
        </Grid>
    </Grid>
 
    <!--Пример кода, иллюстрирующий использование ApplicationBar-->
    <!--<phone:PhoneApplicationPage.ApplicationBar>
        <shell:ApplicationBar IsVisible="True" IsMenuEnabled="True">
            <shell:ApplicationBarIconButton IconUri="/Images/appbar_button1.png" Text="Кнопка 1"/>
            <shell:ApplicationBarIconButton IconUri="/Images/appbar_button2.png" Text="Кнопка 2"/>
            <shell:ApplicationBar.MenuItems>
                <shell:ApplicationBarMenuItem Text="Элемент меню 1"/>
                <shell:ApplicationBarMenuItem Text="Элемент меню 2"/>
            </shell:ApplicationBar.MenuItems>
        </shell:ApplicationBar>
    </phone:PhoneApplicationPage.ApplicationBar>-->
 
</phone:PhoneApplicationPage>
cs-файл
C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
using System;
using System.Collections.Generic;
using System.Linq;
using System.Net;
using System.Windows;
using System.Windows.Controls;
using System.Windows.Documents;
using System.Windows.Input;
using System.Windows.Media;
using System.Windows.Media.Animation;
using System.Windows.Shapes;
using Microsoft.Phone.Controls;
 
namespace PhoneApp2
{
    public partial class MainPage : PhoneApplicationPage
    {
        // Конструктор
        public MainPage()
        {
            InitializeComponent();            
        }
        private SolidColorBrush errorBrush = new SolidColorBrush(Colors.Red);
        private Brush correctBrush = null;
        private void PhoneApplicationPage_OrientationChanged(object sender, OrientationChangedEventArgs e)
        {
            if (e.Orientation == PageOrientation.PortraitUp)
            {
                setPortrait();
            }
            else
            {
                setLandscape();
            }
        }
 
        private void calculateResult()
        {
            bool errorFound = false;
 
            if (correctBrush == null)
                correctBrush = firstNumberTextBox.Foreground;
 
            float v1 = 0;
 
            if (!float.TryParse(firstNumberTextBox.Text, out v1))
            {
                firstNumberTextBox.Foreground = errorBrush;
                errorFound = true;
            }
            else
                firstNumberTextBox.Foreground = correctBrush;
 
            float v2 = 0;
 
            if (!float.TryParse(secondNumberTextBox.Text, out v2))
            {
                secondNumberTextBox.Foreground = errorBrush;
                errorFound = true;
            }
            else
                secondNumberTextBox.Foreground = correctBrush;
 
            if (errorFound)
                resultTextBlock.Text = "Ошибка при вводе";
            else
            {
                float result = v1 + v2;
                resultTextBlock.Text = result.ToString();
            }
        }
 
        private void equalsButton_Click(object sender, RoutedEventArgs e)
        {
            calculateResult();
        }
 
        private void setLandscape()
        {
            firstNumberTextBox.Margin = new Thickness(8, 19, 0, 0);
            firstNumberTextBox.Width = 207;
            secondNumberTextBox.Margin = new Thickness(252, 19, 0, 0);
            secondNumberTextBox.Width = 207;
            plusTextBlock.Margin = new Thickness(221, 35, 0, 0);
            resultTextBlock.Margin = new Thickness(538, 35, 0, 0);
        }
 
        private void setPortrait()
        {
            firstNumberTextBox.Margin = new Thickness(8, 19, 0, 0);
            firstNumberTextBox.Width = 207;
            secondNumberTextBox.Margin = new Thickness(252, 19, 0, 0);
            secondNumberTextBox.Width = 207;
            plusTextBlock.Margin = new Thickness(221, 35, 0, 0);
            resultTextBlock.Margin = new Thickness(538, 35, 0, 0);
        }
 
    }
}
Как должно быть, картинка снизу.
Миниатюры
Ориентация приложения  
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
12.12.2015, 15:20     Ориентация приложения
Посмотрите здесь:

Ориентация (поворот) элемента WebView - Windows Phone
Всем привет. Уже второй день пытаюсь повернуть и расположить элемент WebView в альбомной ориентации (Приложение работает только с...

Ориентация базисов - Геометрия
Касательно полярной системы координат.... Угол определён однозначно лишь в случае заданной ориентации (правой или левой)? То есть если я...

Ориентация жизни
Какое мнение мне иметь к геям,лезбиянкам,транссексуалам,гермафродитам,метросексуалам? А то зададут мне вопрос в длинной жизни,а я не...

Нетрадиционная ориентация
Доброго времени суток! Этот вопрос безусловно всем будет интересен:) Есть ли среди нас люди с нетрадиционной сексуальной ориентацией? ...

Ориентация кости - Графика и игры
Сколькими углами её можно описать? Каков геометрический смысл этих углов? Как их лучше назвать? Размерность мира 3D. Или лучше представить...

Ориентация эмулятора - Android
Здравствуйте! Не подскажете: при запуске эмулятора, он перевернулся довольно неудобным образом: (картинка) Хотелось бы, чтобы...

Ориентация на верстку - PHP
Доброго времени суток. Пишу скрипт блога. Встал вопрос, как ориентировать php на верстку. Сказал глупо, попробую объяснить. Есть файл...

ориентация экрана - Программирование Android
Как сделать так чтобы в тоже время запретить вертикальную ориентацию активити. Но в горизонтальном положении его можно было поворачивать...

Ориентация 3d модели - DirectX
Подскажите, как можно задавать ориентацию 3d модели в пространстве, используя DirectX 9? Какие есть способы для этого?

Ориентация пространства - Геометрия
Даны 3 не компланарных вектора OA=a OB=b OC=c отложенные от одной точки O. Найти вектор OD=d отложенный от той же точки O и образующий с...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru