コード例 #1
0
            protected override MultiSelectionVM <TItemSource, TItemVM> ProvideValue(IBehaviorContext context)
            {
                TSourceObject sourceObject = this.GetValueNext <TSourceObject>(context);

                var vm = new MultiSelectionWithSourceVM <TSourceObject, TItemSource, TItemVM>(
                    _descriptor,
                    context.ServiceLocator
                    );

                vm.InitializeFrom(sourceObject);

                return(vm);
            }
コード例 #2
0
        private static void HandleIsSelectedChanged(
            MultiSelectionWithSourceVM <TSourceObject,
                                        TItemSource, TItemVM> vm, ChangeArgs args
            )
        {
            var item = (SelectableItemVM <TItemSource, TItemVM>)args.ChangedVM;

            if (item.IsSelected)
            {
                if (!vm.SelectedItems.Contains(item))
                {
                    vm.SelectedItems.Add(args.ChangedVM);
                }
            }
            else
            {
                vm.SelectedItems.Remove(args.ChangedVM);
            }
        }