2011-12-13 5 views
0

У меня есть связанный вид сетки данных на приведенные ниже вопросы Класс:XAML радио Кнопки

public class Questions() 

{ 

public int QuestionId{get; set;} 
public string Question {get; set;} 
public List<Answers> AvailableAnswers {get; Set;} 
public string SelectedAnswer {get; set;} 

} 

public class Answers() 
{ 

public int AnswerId {get; set;} 
public string Answer {get; set;} 
public bool IsSelected {get; set;} 

} 

Что мне нужно в моей Datagrid, чтобы показать доступные ответы как кнопки радио и когда пользователь выбирает один из радио кнопки для параметра AnswerId, которое будет установлено как свойство SelectedAnswer в классе вопросов.

Может кто-нибудь помочь, как я шел по кругу, пытаясь сделать это

+0

Возможно, вам нужен пользовательский IValueConverter (SL стандартный ответ # 2). – jv42

+0

Ответьте на этот вопрос: http://stackoverflow.com/questions/2284752/mvvm-binding-radio-buttons-to-a-view-model – opedog

ответ

0

Есть несколько способов, которые вы можете сделать это, если вы используете MVVM в пределах вашего вида-модели вы можете создать общественную собственность, такие как

private bool _isAnswer1; 
    public bool IsAnswer1 
    { 
     get { return _isAnswer1; } 
     set 
     { 
      _isAnswer1 = value; 
      NotifyPropertyChanged(m => m.IsAnswer1); //I used i notify property changed but this is inherited from the base class 
     } 
    } 

А затем в UI связывание похож на

<CheckBox x:Name="testCheckBox" IsChecked="{Binding IsAnswer1} /> 

Если у вас есть контекст данных установлен на сетке или главной целью модели представления.

После этого вы можете привязать это свойство к пользовательскому интерфейсу и, когда оно будет проверено, затем может вызвать другое действие или метод для другого элемента. Это зависит от того, как вы это реализуете.

Если вы не используете mvvm и хотите обработать это в ui, вы можете использовать привязку elementName. Здесь вы в основном привязываете свойство одного элемента к значению другого (пример установите флажок и введите значение в пользовательском интерфейсе). Ниже приведена ссылка из MSDN на привязку имени элемента. MSDN Link Here

Смежные вопросы