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

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Привязка группы переключателей к полю класса, Привязка переключателей к полю класса 
:(
    Опции темы
Dgedit
Дата 20.1.2010, 10:18 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 23
Регистрация: 14.11.2006

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



Такой вопрос. Есть коллекция объектов класса. Каждый объект - это вопрос, варианты ответов и индекс правильного ответа. Для задания индекса правильного ответа используется группа RadioButton' ов. Текстовые поля я привязал к соответствующим полям класса, а вот как привязать 6 RadioButton к одному целому полю класса никак не разберусь.
Т.е.  Я хочу чтобы когда я переключал RadioButton у меня динамически обновлялось поле индекса правильного ответа в соответствующем объекте коллекции.
PM MAIL   Вверх
Partizan
Дата 20.1.2010, 10:57 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Let's do some .NET
****


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

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



биндите свойство IsChecked, предварительно реализовав нужную логику в конвертере, реализующем IValueConverter


--------------------
СУВ,
       Partizan.
PM MAIL WWW ICQ Skype GTalk Jabber   Вверх
Dgedit
Дата 21.1.2010, 09:47 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 23
Регистрация: 14.11.2006

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



Полазил в инете - что-то ничего не понял. Можно примерчик какой-нибудь?
PM MAIL   Вверх
Partizan
Дата 21.1.2010, 11:06 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Let's do some .NET
****


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

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



Dgedit, допустим есть поле int DataField;

Код

...
class IntToBoolConverter : IValueConverter
{
     public object Convert(...)
    {
         if (parameter != null && value != null)
         {
              int data = (int)Convert.ToInt32(value);
              int paramToCompareWith = (int)Convert.ToInt32(parameter);
              return data == param;
         }

          return false;
     }

     public object ConvertBack(...)
     {
        ///Здесь делаем обратное преобразование из bool в int, возвращая значение, которое запишется в DataField
     }
}
...


Код

xmlns:src="clr-namespace:ЗДЕСЬ_НЕЙМСПЕЙС_КОНВЕРТЕРА"
...
<GroupBox>
     <GroupBox.Resources>
          <src:IntToBoolConverter x:Key="IntToBoolConverter" />
     </GroupBox.Resources>

<!-- Байндинг к datafield подстраиваете под свой случай. в примере считается, что объект с DataField в DataContext GrouBox-а-->
    <RadioButton IsChecked="{Binding DataField, Converter={StaticResource IntToBoolConverter}, ConverterParameter=0}"/>
    <RadioButton IsChecked="{Binding DataField, Converter={StaticResource IntToBoolConverter}, ConverterParameter=1}"/>
    <RadioButton IsChecked="{Binding DataField, Converter={StaticResource IntToBoolConverter}, ConverterParameter=2}"/>
<GroupBox>


Теперь в зависимости от значения DataField(0,1 или 2) ,будет выбран первый, второй или третий радиобаттон.

Это всё. Удачи.


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


 




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


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

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