Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/wpf/14.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Wpf 仅允许datagrid中的一个实体为';首选';_Wpf_Entity Framework_Mvvm - Fatal编程技术网

Wpf 仅允许datagrid中的一个实体为';首选';

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;

在我的WPF数据网格中,有一个联系人的电话号码短列表。我只允许将其中一个号码标记为首选号码

视图模型具有联系人的属性(数据库中的一个实体)和相关电话号码的可观察集合(也来自数据库)。简化电话号码实体如下所示:

    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绑定到该属性)不会为任何行更新。