コード例 #1
0
ファイル: NumberVisualiser.cs プロジェクト: rad9k/MinusZero2
        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;
            }
        }