Beispiel #1
0
        public void ExecuteOnAdd(ObservableCollection <AppearListViewItemModel> dataList)
        {
            CommonLightBox dialog = new CommonLightBox();

            TagsSelectorView selectorView = new TagsSelectorView();
            var tagSelectorViewModel      = new TagSelectorViewModel();

            SetSelectingTags(tagSelectorViewModel.SelectingTags);
            selectorView.SetModel(tagSelectorViewModel);

            dialog.Owner = Application.Current.MainWindow;
            dialog.BindUIElement(selectorView);
            dialog.LightBoxKind = CommonLightBox.CommonLightBoxKind.SaveCancel;

            dialog.IsStretchable = false;

            selectorView.Height = Application.Current.MainWindow.ActualHeight - 80;
            selectorView.Width  = Application.Current.MainWindow.ActualWidth - 80;

            selectorView.DataContext = tagSelectorViewModel;


            if (ShowDialogManager.ShowDialog(dialog) == true)
            {
                tagSelectorViewModel.UpdateModelsComposite();
                _stickable.SetTagIds(GetSelectingTagIds(tagSelectorViewModel.SelectingTags));

                dataList.Clear();
                var list = TagToAppearListViewModelConverter.ToAppearListViewItemModel(_stickable.GetTagIds(), _tagManager);
                foreach (var newItemModel in list)
                {
                    dataList.Add(newItemModel);
                }
            }
        }
        private void GenerateTagPanel()
        {
            if (SelectingModel == null)
            {
                return;
            }

            _view.TagDeletableStackPanel.NoItemMessage = "ここには貼り付けたタグが表示されます";
            _view.TagDeletableStackPanel.DoNotShowAddButtonIfCountZero       = false;
            _view.TagDeletableStackPanel.DoShowNoItemErrorMessageIfCountZero = false;
            _view.TagDeletableStackPanel.DataList =
                TagToAppearListViewModelConverter.ToAppearListViewItemModel(SelectingModel.Tags, ModelsComposite.TagManager);
            _view.TagDeletableStackPanel.AddButtonStrategy              = new TagStickerAddButtonStrategy(SelectingModel, ModelsComposite.TagManager);
            _view.TagDeletableStackPanel.OnModelIsAppearedChangedEvent += TagDeletableStackPanel_OnModelIsAppearedChangedEvent;
            _view.TagDeletableStackPanel.Initialize();
        }