private void Delete(DataSchemaItem i) { if (i != null) { Source.Remove(i); } }
private void OnSchemaChanged(DataSchemaItem dataSchemaItem) { if (!_templateApplied || dataSchemaItem == null) { return; } PART_ControlPanel.Children.Clear(); Title = dataSchemaItem.PropertyLabel; switch (dataSchemaItem.DataType) { case DataType.FromSource: var lv = new ListView { ItemsSource = dataSchemaItem.DataSource, SelectionMode = dataSchemaItem.IsMultiSelect ? ListViewSelectionMode.Multiple : ListViewSelectionMode.Single, ItemsPanel = PART_ControlPanel.Resources["2RowUniformGridPanelTemplate"] as ItemsPanelTemplate }; lv.SelectionChanged += DataSource_SelectionChanged; _controlObject = lv; break; case DataType.Range: var slider = new RangeSelector { Minimum = dataSchemaItem.Min, Maximum = dataSchemaItem.Max, }; slider.ValueChanged += Slider_ValueChanged; _controlObject = slider; break; case DataType.Boolean: var toggle = new ToggleButton { Content = dataSchemaItem.PropertyLabel }; PART_TitlePresenter.Visibility = Visibility.Collapsed; toggle.Checked += Toggle_CheckedChanged; toggle.Unchecked += Toggle_CheckedChanged; _controlObject = toggle; break; default: break; } PART_ControlPanel.Children.Add(_controlObject); }