当前位置: 首页>>代码示例>>C#>>正文


C# Canvas.SetBinding方法代码示例

本文整理汇总了C#中Windows.UI.Xaml.Controls.Canvas.SetBinding方法的典型用法代码示例。如果您正苦于以下问题:C# Canvas.SetBinding方法的具体用法?C# Canvas.SetBinding怎么用?C# Canvas.SetBinding使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在Windows.UI.Xaml.Controls.Canvas的用法示例。


在下文中一共展示了Canvas.SetBinding方法的2个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C#代码示例。

示例1: GeoMap

        /// <summary>
        /// Initializes a new instance of the <see cref="GeoMap"/> class.
        /// </summary>
        public GeoMap()
        {
            Canvas = new Canvas();
            Map = new Canvas();

            Canvas.Children.Add(Map);
            Content = Canvas;

            Canvas.SetBinding(WidthProperty,
                new Binding { Path = new PropertyPath("ActualWidth"), Source = this });
            Canvas.SetBinding(HeightProperty,
                new Binding { Path = new PropertyPath("ActualHeight"), Source = this });

            Lands = new Dictionary<string, MapData>();

            this.SetIfNotSet(BackgroundProperty, new SolidColorBrush(Color.FromArgb(150, 96, 125, 138)));
            /*Current*/
            SetValue(GradientStopCollectionProperty, new GradientStopCollection
            {
                new GradientStop()
                {
                    Color = Color.FromArgb(100, 2, 119, 188),
                    Offset = 0d
                },
                new GradientStop()
                {
                    Color = Color.FromArgb(255, 2, 119, 188),
                    Offset = 1d
                },
            });
            this.SetIfNotSet(HeatMapProperty, new Dictionary<string, double>());
            /*Current*/
            SetValue(GeoMapTooltipProperty, new DefaultGeoMapTooltip {Visibility = Visibility.Collapsed}); //Visibility.Hidden});
            Canvas.Children.Add(GeoMapTooltip);

            SizeChanged += (sender, e) =>
            {
                Draw();
            };

            //MouseWheel += (sender, e) =>
            //{
            //    if (!EnableZoomingAndPanning) return;

            //    e.Handled = true;
            //    var rt = Map.RenderTransform as ScaleTransform;
            //    var p = rt == null ? 1 : rt.ScaleX;
            //    p += e.Delta > 0 ? .05 : -.05;
            //    p = p < 1 ? 1 : p;
            //    var o = e.GetPosition(this);
            //    if (e.Delta > 0) Map.RenderTransformOrigin = new Point(o.X/ActualWidth,o.Y/ActualHeight);
            //    Map.RenderTransform = new ScaleTransform(p, p);
            //};

            //MouseDown += (sender, e) =>
            //{
            //    if (!EnableZoomingAndPanning) return;

            //    DragOrigin = e.GetPosition(this);
            //};

            //MouseUp += (sender, e) =>
            //{
            //    if (!EnableZoomingAndPanning) return;

            //    var end = e.GetPosition(this);
            //    var delta = new Point(DragOrigin.X - end.X, DragOrigin.Y - end.Y);

            //    var l = Canvas.GetLeft(Map) - delta.X;
            //    var t = Canvas.GetTop(Map) - delta.Y;

            //    if (DisableAnimations)
            //    {
            //        Canvas.SetLeft(Map, l);
            //        Canvas.SetTop(Map, t);
            //    }
            //    else
            //    {
            //        Map.CreateCanvasStoryBoardAndBegin(l, t, AnimationsSpeed);
            //    }
            //};
        }
开发者ID:beto-rodriguez,项目名称:Live-Charts,代码行数:85,代码来源:GeoMap.cs

示例2: AngularGauge

        /// <summary>
        /// Initializes a new instance of the <see cref="AngularGauge"/> class.
        /// </summary>
        public AngularGauge()
        {
            Canvas = new Canvas();

            Content = Canvas;

            StickRotateTransform = new RotateTransform {Angle = 180};
            Stick = new Path
            {
                Data = GeometryHelper.Parse("m0,90 a5,5 0 0 0 20,0 l-8,-88 a2,2 0 0 0 -4 0 z"),
                Fill = new SolidColorBrush(Colors.CornflowerBlue),
                Stretch = Stretch.Fill,
                RenderTransformOrigin = new Point(0.5, 0.9),
                RenderTransform = StickRotateTransform
            };
            Canvas.Children.Add(Stick);
            Canvas.SetZIndex(Stick, 1);

            Canvas.SetBinding(WidthProperty,
                new Binding { Path = new PropertyPath("ActualWidth"), Source = this });
            Canvas.SetBinding(HeightProperty,
                new Binding { Path = new PropertyPath("ActualHeight"), Source = this });

            this.SetIfNotSet(SectionsProperty, new List<AngularSection>());

            Stick.SetBinding(Shape.FillProperty,
                new Binding {Path = new PropertyPath("NeedleFill"), Source = this});

            Func<double, string> defaultFormatter = x => x.ToString(CultureInfo.InvariantCulture);
            this.SetIfNotSet(LabelFormatterProperty, defaultFormatter);
            // this.SetIfNotSet(LabelsEffectProperty, new DropShadowEffect {ShadowDepth = 2, RenderingBias = RenderingBias.Performance});

            SizeChanged += (sender, args) =>
            {
                IsControlLaoded = true;
                Draw();
            };

            Slices = new Dictionary<AngularSection, PieSlice>();
        }
开发者ID:beto-rodriguez,项目名称:Live-Charts,代码行数:43,代码来源:AngularGauge.cs


注:本文中的Windows.UI.Xaml.Controls.Canvas.SetBinding方法示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。