我有一个绑定数据网格视图到下面的问题类:
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 :(得分: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