Wpf 仅允许datagrid中的一个实体为';首选';
在我的WPF数据网格中,有一个联系人的电话号码短列表。我只允许将其中一个号码标记为首选号码 视图模型具有联系人的属性(数据库中的一个实体)和相关电话号码的可观察集合(也来自数据库)。简化电话号码实体如下所示:Wpf 仅允许datagrid中的一个实体为';首选';,wpf,entity-framework,mvvm,Wpf,Entity Framework,Mvvm,在我的WPF数据网格中,有一个联系人的电话号码短列表。我只允许将其中一个号码标记为首选号码 视图模型具有联系人的属性(数据库中的一个实体)和相关电话号码的可观察集合(也来自数据库)。简化电话号码实体如下所示: class PhoneNumbers { [Key] public int ID { get; set; } public string PhoneNbr { get; set; } public bool Preferred { get; set;
class PhoneNumbers
{
[Key]
public int ID { get; set; }
public string PhoneNbr { get; set; }
public bool Preferred { get; set; }
public int ContactID { get; set; }
}
DataGrid在DataGridTextColumn中显示PhoneNbr属性,在DataGridCheckBoxColumn中显示首选属性;其他属性不显示
在理想情况下,当用户在数据网格中检查电话号码时,所有其他号码都将自动取消选中。现在我无法控制这一切——他们可以自由地检查其中任何一个或全部
所以…我在寻找如何实现这一目标的指导。谢谢如果我很笨,你应该读一读《对不起》,但我看不出有什么关联。我看错了吗?这似乎是指在一列中启用控件,我正在寻找一种方法来钩住EF实体属性的更改值,以便可以更改网格中的其他实体。对不起,我指的是使用
RadioButton
DataTemplate
而不是使用DataGridCheckBoxColumn
,因为有复选框的目的是允许多个选择,而RadioButton
(假设您将GroupName
属性设置为相同的`)只允许选择一个。有趣且有趣。我必须从新的角度来看待这个问题。感谢您的澄清Bob-尽管我可能会尝试,但使用radiobutton模板在这方面没有任何进展。我已经让可视化部分工作了,但是属性更改没有触发任何实体。我的意思是,显示只允许一行显示为首选,但是首选属性(IsChecked绑定到该属性)不会为任何行更新。