protected void OnSliderValueChanged(object sender, RoutedPropertyChangedEventArgs <double> e) { if (ValueChangeing == false) { ValueChangeing = true; IVertex bv = Vertex.Get(@"BaseEdge:\To:"); if (bv == null || bv.Value == null) { IVertex r = MinusZero.Instance.Root; IVertex from = Vertex.Get(@"BaseEdge:\From:"); IVertex meta = Vertex.Get(@"BaseEdge:\Meta:"); IVertex toMeta = r.Get(@"System\Meta\ZeroTypes\Edge\To"); if (from != null && meta != null) { //GraphUtil.SetVertexValue(from, meta, GraphUtil.FromDouble<T>(Slider.Value)); // this is not enough. BaseEdge:\To: is not se GraphUtil.CreateOrReplaceEdge(Vertex.Get("BaseEdge:"), toMeta, GraphUtil.SetVertexValue(from, meta, GraphUtil.FromDouble <T>(Slider.Value))); IsNull = false; } TextBox.Text = Slider.Value.ToString(); } else { bv.Value = GraphUtil.FromDouble <T>(Slider.Value); TextBox.Text = Slider.Value.ToString(); } ValueChangeing = false; } }