Форум программистов, компьютерный форум, киберфорум
C#: WPF, UWP и Silverlight
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.56/9: Рейтинг темы: голосов - 9, средняя оценка - 4.56
58 / 40 / 41
Регистрация: 26.09.2013
Сообщений: 346
Записей в блоге: 1
1

Как получить доступ к контролу, объявленному в шаблоне элемента управления из окон приложения?

25.06.2019, 09:04. Показов 1771. Ответов 2
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Здравствуйте. Как получить доступ к контролу, объявленному в шаблоне элемента управления (конкретно это controltemplate для window) из окон приложения?
Разметка, следующая:
XML
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
<ControlTemplate x:Key="WindowControlTemplate1" TargetType="{x:Type Window}">
            <Grid Background="White">
    
                <AdornerDecorator d:LayoutOverrides="LeftMargin, RightMargin, TopMargin, BottomMargin" Height="50" VerticalAlignment="Top" IsEnabled="True">
                    <ContentPresenter Height="337" Margin="0,0,0,-337" VerticalAlignment="Bottom" />
                </AdornerDecorator>
                <ResizeGrip x:Name="WindowResizeGrip"
                      HorizontalAlignment="Right"
                      VerticalAlignment="Top"
                      Visibility="Collapsed"
                      IsTabStop="false" Height="17" Grid.Row="0" Width="17" d:LayoutOverrides="LeftMargin, RightMargin" Margin="0,50,0,0" />
                <StackPanel Orientation="Horizontal" d:LayoutOverrides="LeftMargin, RightMargin" Margin="0,50,0,29.73">
                    <CheckBox x:Name="OnOff" Content="Вкл/Выкл" Width="174.395" Height="18.27" VerticalAlignment="Top"/>
 
                </StackPanel>
 
            </Grid>
            <ControlTemplate.Triggers>
                <Trigger Property="ResizeMode"
                   Value="CanResizeWithGrip">
                    <Setter TargetName="WindowResizeGrip"
                    Property="Visibility"
                    Value="Visible" />
                </Trigger>
 
            </ControlTemplate.Triggers>
        </ControlTemplate>
Это многостраничное приложение с использованием навигации с помощью Frame.
Конкретно нужен доступ к чекбоксу из любого окна.
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
25.06.2019, 09:04
Ответы с готовыми решениями:

Как получить доступ к контролу в DataTemplate из code behind
var s = (Button)FindName(&quot;Button_Done&quot;); эта строка возвращает Null, как получить реальный объект?...

Как получить доступ к контролу из другой формы
Здраствуйте, прочитав это https://www.cyberforum.ru/windows-forms/thread110436.html#post629892, я...

Как получить доступ к контролу через отдельный поток в кастомном классе?
Ошибка: Невозможно получить доступ к нестатическому члену внешнего типа &quot;Хурда.Form1&quot; через...

Получить доступ к контролу по имени
Можно ли как-то получить доступ к контролу, который находится на панели, не указывая родительский...

2
Модератор
Эксперт .NET
15827 / 10977 / 2850
Регистрация: 21.04.2018
Сообщений: 32,224
Записей в блоге: 2
25.06.2019, 12:36 2
Цитата Сообщение от Nickolay0512 Посмотреть сообщение
Как получить доступ к контролу, объявленному в шаблоне элемента управления
Ни как.
Или должна быть явная привязка в XAML. Но для этого надо создавать UC с дополнительными свойствами и прочим геморроем.
Или шаблон привязывается на источник данных (ViewModel) и получать доступ не к самому контролу, а к нужным значениям в ViewModel.

Добавлено через 3 минуты
Относитесь к шаблону как к вложенному объекту в C#. При этом вложенные в шаблоне элементы не имеют публичных имён. Можно конечно получить контейнер и разобрать (в C#) какие элементы в этом контейнере, но это сложно и делается крайне редко.
Если такое понадобилось, то скорее всего у Вас неверная архитектура приложения.
1
58 / 40 / 41
Регистрация: 26.09.2013
Сообщений: 346
Записей в блоге: 1
25.06.2019, 18:40  [ТС] 3
Элд Хасп, Спасибо за ответ.
0
25.06.2019, 18:40
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
25.06.2019, 18:40
Помогаю со студенческими работами здесь

Получить доступ к контролу из статического метода
Всем привет! Вопрос, собственно в названии темы: Как получить доступ к контролу из статического...

Получить доступ к динамически созданному контролу
При загрузке окна динамически создаю некоторое количество StackPanel(количество берется из бд), в...

Как получить доступ к контролу формы из другого класса, не создавая новый экземпляр формы
Как получить доступ к контролу формы из другого класса, не создавая новый экземпляр формы?

Получить доступ к контролу на форме из 2 других потоков
Всем добрый день! Не могу победить потоко не безопасноть.. Нужно получить доступ к контролу на...


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

Или воспользуйтесь поиском по форуму:
3
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru