Модераторы: gambit, Kefir, Partizan
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Как из определения стиля получить элемент, которому он присваивается? 
:(
    Опции темы
L0tR
  Дата 4.5.2010, 13:11 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 16
Регистрация: 8.2.2009
Где: Москва (Любецы)

Репутация: нет
Всего: нет



Есть класс VisualItem - наследник ContentControl.
Для этого класса в XAML определён стиль. В стиле опрпделяются различные параметры, которые хочется сделать настраиваемыми (MinHeight, MinWidth, цвета и размеры различных элементов). Насколько я понимаю, можно в классе VisualItem завести поля (возможно, и свойства), хранящие значения, которые я хочу изменять; и сделать в определении стиля привязку данных к этим полям. Вопрос в том, как в определении стиля получить элемент, которому он назначается, ведь эти поля должны быть разными у каждого экземпляра VisualItem.
Чтобы не быть голословным, приведу кусок кода. Допустим, я хочу сделать привязку для свойства minHeight (уже присутствует в ContentControl).
Определение VisualItem:
Код

public class VisualItem:ContentControl
    {
        int minHeight = 30;

        public int MinH
        {
            get { return minHeight; }
            set { minHeight = value; }
        }

        public VisualItem()
        {
            Style = (Style)FindResource("VisualItemStyle");
        }
}


Часть определения стиля VisualItem:

 <Style x:Key="VisualItemStyle" TargetType="ns:VisualItem">
        <Setter Property="MinHeight" Value="{???}"/>
        <Setter Property="MinWidth" Value="20"/>
</Style>

Что мне нужно написать, чтобы сделать привязку свойства MinHeight к полю minHeight объекта? Про Binding читал кое-что, но очень плохо понимаю, как с ним работать.
PM MAIL WWW ICQ   Вверх
L0tR
Дата 4.5.2010, 14:39 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 16
Регистрация: 8.2.2009
Где: Москва (Любецы)

Репутация: нет
Всего: нет



Кстати говоря, понятное дело, что привязать MinHeight можно и без привязки, просто поменяв сеттер в классе, но такое не предлагать, фишка в том, что многие другие свойства из класса недоступны.
PM MAIL WWW ICQ   Вверх
Partizan
Дата 11.5.2010, 14:01 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Let's do some .NET
****


Профиль
Группа: Модератор
Сообщений: 2828
Регистрация: 19.12.2005
Где: Санкт-Петербург

Репутация: 9
Всего: 67



L0tR, 

Код

public class VisualItem:ContentControl
    {
        int minHeight = 30;

        public VisualItem()
        {
             this.MinHeight = minHeight;
            Style = (Style)FindResource("VisualItemStyle");
        }
}


Цитата

многие другие свойства из класса недоступны


например?


--------------------
СУВ,
       Partizan.
PM MAIL WWW ICQ Skype GTalk Jabber   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | WPF и Silverlight | Следующая тема »


 




[ Время генерации скрипта: 0.0407 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.