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

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

Войти
Регистрация
Восстановить пароль
 
bykinator
1 / 1 / 2
Регистрация: 14.08.2014
Сообщений: 219
#1

Код не видит элементы, находящиеся в hub - Windows Phone

03.03.2015, 00:38. Просмотров 958. Ответов 6
Метки нет (Все метки)

у меня код не видит названия всех textblock и прочих элементов которые находятся в hub, приложение переношу с wp8 на wp8.1 я давно это делал и решил щас доделать и там все работало, я отдельно создавал textblock и button сначала не в hub все видело а когда перенес textblock в hub то опять ошибка "Элемент "day_v" не существует в текущем контексте" помогите что делать
Проект во вложении
C#
1
2
3
4
5
6
7
Int64 test = 0;
 
        private void Button_Click(object sender, RoutedEventArgs e)
        {
            test++;
            test1.text = test.ToString();
        }
XML
1
2
3
4
5
6
7
8
9
10
11
12
13
<Grid>
        <Hub Header="Hub">
            <HubSection Header="HubSection 0" Width="400">
                <DataTemplate>
                    <Grid  Margin="30,36,46.833,340">
                        <TextBlock Name="test1" Text="0" FontSize="20" Margin="0,0,0,61" />
                        <Button Click="Button_Click" Content="Button" HorizontalAlignment="Left" Height="62" Margin="76,163,0,-101" VerticalAlignment="Top" Width="87"/>
 
                    </Grid>
                </DataTemplate>
            </HubSection>
        </Hub>
    </Grid>
и ошибка
Ошибка 1 Элемент "test1" не существует в текущем контексте.
помогите пожалуйста я приложение уже заканчиваю а эту фигню победить не могу даже не тестил нормально ни разу только кое как под 8,0 и все
Вложения
Тип файла: rar App11.rar (31.2 Кб, 0 просмотров)
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
03.03.2015, 00:38     Код не видит элементы, находящиеся в hub
Посмотрите здесь:

Windows Phone Студия никак не видит WP 8 SDK
Windows Phone Почему xaml не видит namespace?
Код не видит элементы, находящиеся в hub Windows Phone
Hub: Как программно вставить элементы в его HubSection's? Windows Phone
Ошибка с Hub.Header Windows Phone
Windows Phone Hub: Как выставить один из его HubSection на вид
Windows Phone Суммировать числа, находящиеся на разных страницах приложения

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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
goodniko
Фрилансер
54 / 44 / 10
Регистрация: 13.12.2013
Сообщений: 371
11.05.2015, 09:39     Код не видит элементы, находящиеся в hub #2
все из за того что элементы лежащие в hub идут как datatemplate без возможности "просто" обратится к ним., но есть два решения:
1. использовать вместо hub - pivot (что самое простое)
2. держи метод
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
 private DependencyObject FindChildControl<T>(DependencyObject control, string ctrlName)
        {
            int childNumber = VisualTreeHelper.GetChildrenCount(control);
            for (int i = 0; i < childNumber; i++)
            {
                DependencyObject child = VisualTreeHelper.GetChild(control, i);
                FrameworkElement fe = child as FrameworkElement;
                // Not a framework element or is null
                if (fe == null) return null;
 
                if (child is T && fe.Name == ctrlName)
                {
                    // Found the control so return
                    return child;
                }
                else
                {
                    // Not found it - search children
                    DependencyObject nextLevel = FindChildControl<T>(child, ctrlName);
                    if (nextLevel != null)
                        return nextLevel;
                }
            }
            return null;
        }
после чего он позволяет иницилизировать ваш компонент и в дальнейшем обращаться к нему
C#
1
TextBlock textBlock = FindChildControl<TextBlock >(this, "ИМЯ ВАШЕГО КОНТРОЛА") as TextBlock ;
bykinator
1 / 1 / 2
Регистрация: 14.08.2014
Сообщений: 219
15.05.2015, 13:10  [ТС]     Код не видит элементы, находящиеся в hub #3
goodniko
а куда это надо вставлять а то у меня универсальное приложение и под wp8.1 и под w8.1 а в w8.1 нету pivot
goodniko
Фрилансер
54 / 44 / 10
Регистрация: 13.12.2013
Сообщений: 371
15.05.2015, 17:21     Код не видит элементы, находящиеся в hub #4
bykinator, куда вставлять? - куда угодно лишь был бы доступ к данному методу а на счет piva - не знал., пардон., тогда используй данный метод
bykinator
1 / 1 / 2
Регистрация: 14.08.2014
Сообщений: 219
15.05.2015, 21:37  [ТС]     Код не видит элементы, находящиеся в hub #5
а можно по подробней как его использовать просто я что то туплю сильно)
goodniko
Фрилансер
54 / 44 / 10
Регистрация: 13.12.2013
Сообщений: 371
16.05.2015, 13:58     Код не видит элементы, находящиеся в hub #6
bykinator, ну смотри., вставляешь этот метод в свой проект., таким образом что бы можно было к нему обратиться., далее передав ему необходимый для инициализации тебе элемент
Цитата Сообщение от goodniko Посмотреть сообщение
TextBlock textBlock = FindChildControl<TextBlock >(this, "ИМЯ ВАШЕГО КОНТРОЛА") as TextBlock ;
он возвратит тебе объект., с которым ты в дальнейшем сможешь работать к примеру если он возвращает TextBox., ты сможешь сделать следующее string someText = textBlock.Text;
__silence
0 / 0 / 1
Регистрация: 16.05.2015
Сообщений: 42
16.05.2015, 20:37     Код не видит элементы, находящиеся в hub #7
Добрый день!

Подскажите пожалуйста, а как можно из программного кода не только достать элемент
но вставить в HubSection, я пробовал через DataContext="{Binding MyObservableCollection}"

но в коллекцию я что либо вставляю, а хабсекшн этого не видит?
Yandex
Объявления
16.05.2015, 20:37     Код не видит элементы, находящиеся в hub
Ответ Создать тему
Опции темы

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