OSDN Git Service

123
[psychlops/silverlight.git] / dev3 / psychlops / extention / standard / widget.cs
index 113d114..bb540ec 100644 (file)
@@ -19,10 +19,9 @@ namespace Psychlops
                public class Slider\r
                {\r
                        internal System.Windows.UIElement instance;\r
-                       public string label;\r
-                       public Interval range;\r
-                       public double value { get; set; }\r
-                       public bool changed { get; set; }\r
+                       internal System.Windows.Controls.Slider uislider;\r
+                       internal string label;\r
+                       internal Interval range;\r
 \r
                        public Slider(string l, Interval r)\r
                        {\r
@@ -34,6 +33,11 @@ namespace Psychlops
                        {\r
                                return s.value;\r
                        }\r
+                       public double value {\r
+                               get { return uislider.Value; }\r
+                               set { if(uislider!=null) uislider.Dispatcher.BeginInvoke( new Action<System.Windows.Controls.Slider, double>(Connector.sliderSet) , uislider, value ); }\r
+                       }\r
+                       public bool changed { get; set; }\r
                }\r
 \r
 \r
@@ -63,6 +67,7 @@ namespace Psychlops
                                                Source = slide,\r
                                };\r
                                val.SetBinding(TextBox.TextProperty, b);\r
+                               ss.uislider = slide;\r
                                //var b2 = new System.Windows.Data.Binding\r
                                //{\r
                                //      Path = new PropertyPath("value"),\r
@@ -80,6 +85,10 @@ namespace Psychlops
                                ss.instance = holder;\r
                                Internal.Main.widgetStack.Children.Add(ss.instance);\r
                        }\r
+                       public static void sliderSet(System.Windows.Controls.Slider s, double v)\r
+                       {\r
+                               s.Value = v;\r
+                       }\r
 \r
                }\r
 \r