我将使IsSelectedDeliveryInvisible成为DeliveryMethod类的一个属性,以便它可以为列表中的每个项目具有不同的值。
当用户选择交付方法时,需要为列表中的每个项目设置IsSelectedDeliveryInvisible(请参阅下面的代码)。这将确保一次最多可以看到一个图标。您现有的绑定应该可以与此新代码一起使用。
public class DeliveryMethod
{
public int Id {get; set;}
public bool IsSelectedDeliveryIconVisible {get; set;}
// ...
}
DeliveryMethod _selectedDeliveryMethod;
public DeliveryMethod SelectedDeliveryMethod
{
get { return _selectedDeliveryMethod; }
set
{
SetProperty(ref _selectedDeliveryMethod, value);
if (_selectedDeliveryMethod != null)
{
DeliveryMethodList.ForEach(d => { d.IsSelectedDeliveryIconVisible = (d.Id == value.Id); });
}
}
}