private IEnumerable<UserLinkData> GenerateUserLinkData() { var celem = TargetElements; foreach (var e in AccountModel.GetAccountElements()) { var uld = new UserLinkData(this, e, celem.Contains(e)); uld.LinkChanged += new Action<UserLinkData>(uld_LinkChanged); yield return uld; } }
void uld_LinkChanged(UserLinkData obj) { if (obj.Link) { TargetElements = TargetElements.Concat(new[] { obj.Element }); } else { TargetElements = TargetElements.Except(new[] { obj.Element }); } }