Гость
Форумы / WPF, Silverlight [игнор отключен] [закрыт для гостей] / Получить элемент datatemplate в code behind / 2 сообщений из 2, страница 1 из 1
01.04.2015, 11:44
    #38923609
sergei64_89
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Получить элемент datatemplate в code behind
Код: c#
1.
2.
3.
4.
5.
  <dxprg:PropertyGridControl.PropertyDefinitions>
                    <dxprg:PropertyDefinition Name="CenterSelector" Header="Центр обзорной карты (по умолчанию)" Path="Latitude" IsReadOnly="False">
						<dxprg:PropertyDefinition.CellTemplate>
							<DataTemplate>
								<controls:LocationSelector x:Name="LocationSelector"


Как в code behind получить ссылку("LocationSelector")?
...
Рейтинг: 0 / 0
01.04.2015, 18:08
    #38924157
Roman Mejtes
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Получить элемент datatemplate в code behind
sergei64_89,
как вариант, можно найти в визуальном дереве
код будет такой?
FindChild<LocationSelector>(parent, "LocationSelector");
Код: pascal
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.
[/SRC]
[SRC C#]public static T FindChild<T>(DependencyObject parent, string childName = null) where T : DependencyObject
        {
            // Confirm parent and childName are valid. 
            if (parent == null) return null;

            T foundChild = null;

            int childrenCount = VisualTreeHelper.GetChildrenCount(parent);
            for (int i = 0; i < childrenCount; i++)
            {
                var child = VisualTreeHelper.GetChild(parent, i);
                // If the child is not of the request child type child
                T childType = child as T;
                if (childType == null)
                {
                    // recursively drill down the tree
                    foundChild = FindChild<T>(child, childName);

                    // If the child is found, break so we do not overwrite the found child. 
                    if (foundChild != null) break;
                }
                else if (!string.IsNullOrEmpty(childName))
                {
                    var frameworkElement = child as FrameworkElement;
                    // If the child's name is set for search
                    if (frameworkElement != null && frameworkElement.Name == childName)
                    {
                        // if the child's name is of the request name
                        foundChild = (T)child;
                        break;
                    }
                }
                else
                {
                    // child element found.
                    foundChild = (T)child;
                    break;
                }
            }

            return foundChild;
        }
...
Рейтинг: 0 / 0
Форумы / WPF, Silverlight [игнор отключен] [закрыт для гостей] / Получить элемент datatemplate в code behind / 2 сообщений из 2, страница 1 из 1
Целевая тема:
Создать новую тему:
Автор:
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]