XAML收音机按钮

时间:2011-12-13 16:58:00

标签: silverlight 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属性时。

任何人都可以提供帮助,因为我一直在试图这样做。

1 个答案:

答案 0 :(得分: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}   />

假设您在视图模型的网格或主视图中设置了数据上下文。

然后,您可以将此属性绑定到UI,然后在检查时,它可以为另一个元素调用不同的操作或方法。这取决于你如何实现这一点。

如果你没有使用mvvm并且你想在ui中处理它,你可以使用elementName绑定。在这里,您基本上绑定了另一个元素的一个元素的属性(示例选中一个复选框并在UI中显示一个值)这是MSDN上关于元素名称绑定的链接 MSDN Link Here