コード例 #1
0
        private void OnBinTreeMapAddItem(object sender, RoutedEventArgs e)
        {
            if (e.Source is FrameworkElement frameworkElement &&
                frameworkElement.DataContext is BinTreeMapViewModel mapViewModel)
            {
                BinTreeMap      map           = mapViewModel.TreeProperty as BinTreeMap;
                BinTreeProperty keyProperty   = BinTreeUtilities.BuildProperty("", "", map, map.KeyType, BinPropertyType.None, BinPropertyType.None);
                BinTreeProperty valueProperty = BinTreeUtilities.BuildProperty("", "", map, map.ValueType, BinPropertyType.None, BinPropertyType.None);

                BinTreeMapEntryViewModel newEntryViewModel = new BinTreeMapEntryViewModel(mapViewModel, new KeyValuePair <BinTreeProperty, BinTreeProperty>(keyProperty, valueProperty));

                mapViewModel.Children.Add(newEntryViewModel);
            }
        }
コード例 #2
0
        private async void OnBinTreeObjectAddItem(object sender, RoutedEventArgs e)
        {
            if (e.Source is FrameworkElement frameworkElement &&
                frameworkElement.DataContext is BinTreeObjectViewModel objectViewModel)
            {
                NewBinPropertyViewModel dialogViewModel = await DialogHelper.ShowNewBinPropertyDialog(this.ViewModel.StructureTemplates);

                if (dialogViewModel is not null)
                {
                    BinTreeProperty          newProperty          = dialogViewModel.BuildProperty(objectViewModel.TreeObject);
                    BinTreePropertyViewModel newPropertyViewModel = BinTreeUtilities.ConstructTreePropertyViewModel(objectViewModel, newProperty);
                    if (newPropertyViewModel is not null)
                    {
                        objectViewModel.Children.Add(newPropertyViewModel);
                    }
                }
            }
        }