powered by simpleCommunicator - 2.0.51     © 2025 Programmizd 02
Форумы / WPF, Silverlight [игнор отключен] [закрыт для гостей] / Как задать название свойства в DataTemplate?
8 сообщений из 8, страница 1 из 1
Как задать название свойства в DataTemplate?
    #37711208
enigmatic
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Здравствуйте.

Извиняюсь за, скорее всего, вопрос с очевидным ответом, но как задавать разные названия свойств для DataTemplate, который используется в нескольких местах.

Например, есть шаблон в ресурсах (в нем жестко прописано свойство "IsData"):
Код: c#
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
        <DataTemplate x:Key="CheckableAndEditableCustomColumn">
            <Grid>
                <Grid.ColumnDefinitions>
                    <ColumnDefinition Width="auto" />
                    <ColumnDefinition Width="auto" />
                </Grid.ColumnDefinitions>
                <CheckBox Grid.Column="0"
                          VerticalAlignment="Center"
                          IsChecked="{Binding IsData, Mode=TwoWay}" />
                <Button Grid.Column="1"
                        Content="..."
                        IsEnabled="{Binding IsData}" />
            </Grid>
        </DataTemplate>

И есть пара колонок, в каждой из которых используется свое свойство вместо IsData:
Код: c#
1.
2.
                    <telerik:GridViewColumn CellTemplate="{StaticResource CheckableAndEditableCustomColumn}" />
                    <telerik:GridViewColumn CellTemplate="{StaticResource CheckableAndEditableCustomColumn}" />

Как задать название свойства в шаблоне, не дублируя DataTemplate?
...
Рейтинг: 0 / 0
Как задать название свойства в DataTemplate?
    #37711221
Sky Dragon
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
enigmatic,

мб лучше тогда все свойства типа "IsData" вынести в единый интерфейс и все объекты от него унаследовать? Соотв. они будут иметь одинаковое имя и шаблон для всех будет один и тот же. Разница будет лишь в реализации самого интерфейса.
...
Рейтинг: 0 / 0
Как задать название свойства в DataTemplate?
    #37711273
enigmatic
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Sky Dragon,

Интересная мысль.
Но, грубо говоря, используется один объект, у которого есть два свойства IsData1 и IsData2 и оба типа bool.
Т.е., получается, что эти свойства нужно обернуть интерфейсом (IIsData, например) и возвращать некоторое значение по некоторому свойству (IsValue, напр.).
Код: c#
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
    interface IIsData {
        public bool IsValue { get; set; }
    }

    public class IsData1Type : bool, IIsData {
        bool _isData1;
        public bool IsValue {
            get {
                return _isData1;
            }
        }
    }
...

И в объекте вместо bool'ов использовать IsData1Type и IsData2Type.
Вариант рабочий, но не оптимальный, мне кажется.
...
Рейтинг: 0 / 0
Как задать название свойства в DataTemplate?
    #37711295
enigmatic
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
enigmatic,

Скорее всего начать нужно так:
1. Унаследоваться от колонки;
2. Создать (Dependency?) property типа DataMemberPath, в которое кладется название свойства;
А затем как-то привязать кнопку и чекбокс к свойству, по названию в DataMemberPath.

Похоже, надо почитать на тему создания своих контролов, Dependency Property и подобного.

Вопрос для себя немного прояснил.
...
Рейтинг: 0 / 0
Как задать название свойства в DataTemplate?
    #37711301
enigmatic
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Sky Dragon,

Я не уверен, что ваш вариант взлетит для редактируемых свойств.
...
Рейтинг: 0 / 0
Как задать название свойства в DataTemplate?
    #37711464
Sky Dragon
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
enigmatic,

ну я как вариант предложил просто )
...
Рейтинг: 0 / 0
Как задать название свойства в DataTemplate?
    #37711544
enigmatic
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Sky Dragon,

Окей.
Я в поиске идей просто.
...
Рейтинг: 0 / 0
Как задать название свойства в DataTemplate?
    #37761544
Andrew Nagorny
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Надо сделать какой нибудь Helper...
...
Рейтинг: 0 / 0
8 сообщений из 8, страница 1 из 1
Форумы / WPF, Silverlight [игнор отключен] [закрыт для гостей] / Как задать название свойства в DataTemplate?
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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