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


C# ScatterViewItem.SetBinding方法代码示例

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


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

示例1: BindScatterViewItemAndElement

        public void BindScatterViewItemAndElement(ScatterViewItem svi,  PrototypeElement element)
        {
            svi.Tag = element;

            PrototypeElement _element = new PrototypeElement() { Width = element.Width, Height = element.Height, Center = element.Center, Orientation = element.Orientation};

            Binding elementBindings = new Binding();
            elementBindings.Mode = BindingMode.OneWayToSource;
            elementBindings.Source = element;
            elementBindings.Path = new PropertyPath("Width");
            svi.SetBinding(ScatterViewItem.WidthProperty, elementBindings);

            elementBindings = new Binding();
            elementBindings.Mode = BindingMode.OneWayToSource;
            elementBindings.Source = element;
            elementBindings.Path = new PropertyPath("Height");
            svi.SetBinding(ScatterViewItem.HeightProperty, elementBindings);

            elementBindings = new Binding();
            elementBindings.Mode = BindingMode.OneWayToSource;
            elementBindings.Source = element;
            elementBindings.Path = new PropertyPath("Center");
            svi.SetBinding(ScatterViewItem.CenterProperty, elementBindings);

            elementBindings = new Binding();
            elementBindings.Mode = BindingMode.OneWayToSource;
            elementBindings.Source = element;
            elementBindings.Path = new PropertyPath("Orientation");
            svi.SetBinding(ScatterViewItem.OrientationProperty, elementBindings);

            if (element != null)
            {
                svi.Width = _element.Width;
                svi.Center = _element.Center;
                svi.Height = _element.Height;
                svi.Orientation = _element.Orientation;
            }
        }
开发者ID:tuliosouza,项目名称:ASG,代码行数:38,代码来源:DrawingCanvasHelper.cs

示例2: InitScatterViewEvents

        private void InitScatterViewEvents() {
            _fe = (FloatingElement) DataContext;
            //if (_fe.Style == null) _fe.Style = this.FindResource("DefaultContainerStyle") as Style;
            _svi = (ScatterViewItem) Helpers.FindElementOfTypeUp(this, typeof (ScatterViewItem));

            if (_fe == null || _svi == null) return;
            _fe.PropertyChanged += FePropertyChanged;

            _floatingViewModel = IoC.Get<IFloating>();

            //TODO: get scatterview instead of window
            _sv = Application.Current.MainWindow;
            // (ScatterView)BaseWPFHelpers.Helpers.FindElementOfTypeUp(_svi, typeof(ScatterView));

            _fe.FlipEvent += FeFlipEvent;
            _fe.UnFlipEvent += FeUnFlipEvent;


            _svi.IsManipulationEnabled = !_fe.PromoteToMouse;

            _svi.ContainerManipulationCompleted += SviScatterManipulationCompleted;
            _svi.ContainerManipulationStarted += SviScatterManipulationStarted;
            _svi.ContainerManipulationDelta += SviScatterManipulationDelta;
            _svi.TouchDown += SviContactDown;
            //_svi.CanMove = false;

            _fe.DockingStyleChanged += _fe_DockingStyleChanged;

            SizeChanged += UcFloatingElementContainerSizeChanged;

            _svi.SetBinding(ScatterContentControlBase.CanMoveProperty,
                new Binding {Source = _fe, Path = new PropertyPath("CanMove")});
            _svi.SetBinding(ScatterContentControlBase.CanRotateProperty,
                new Binding {Source = _fe, Path = new PropertyPath("CanRotate")});
            _svi.SetBinding(ScatterContentControlBase.CanScaleProperty,
                new Binding {Source = _fe, Path = new PropertyPath("CanScale")});
            _svi.SetBinding(ScatterContentControlBase.ShowsActivationEffectsProperty,
                new Binding {Source = _fe, Path = new PropertyPath("ShowsActivationEffects")});

            if (_fe.DockingStyle != DockingStyles.None)
                _svi.SetBinding(VisibilityProperty,
                    new Binding {
                        Source = AppStateSettings.Instance,
                        Path = new PropertyPath("DockedFloatingElementsVisible"),
                        Converter = new BooleanToVisibilityConverter()
                    });


            //_svi.CanMove = false;
            //_svi.CanScale = false;
            //_svi.CanRotate = false;

            Loaded += FloatingContainerLoaded;

            Close += FloatingContainerClose;

            PreviewMouseDoubleClick += FloatingContainerPreviewMouseDoubleClick;
        }
开发者ID:TNOCS,项目名称:csTouch,代码行数:58,代码来源:FloatingContainer.cs

示例3: OnJoinAnimationCompleted

        //---------------------------------------------------------//
        /// <summary>
        /// Called when an join animation is completed.
        /// </summary>
        /// <param name="pieceBeingRemoved">The item that should be removed after the join.</param>
        /// <param name="pieceRemaining">The item that will remain after the join.</param>
        private void OnJoinAnimationCompleted(ScatterViewItem pieceBeingRemoved, ScatterViewItem pieceRemaining)
        {
            if (scatter.Items.Contains(pieceBeingRemoved) && scatter.Items.Contains(pieceRemaining))
            {
                // Get the content for the joined piece
                PuzzlePiece joinedPiece = puzzleManager.JoinPieces((PuzzlePiece)pieceBeingRemoved.Content, (PuzzlePiece)pieceRemaining.Content);

                // When size changes, center also must be adjusted so the piece doesn't jump
                Vector centerAdjustment = puzzleManager.CalculateJoinCenterAdjustment((PuzzlePiece)pieceRemaining.Content, joinedPiece);
                centerAdjustment = PuzzleManager.Rotate(centerAdjustment, pieceRemaining.ActualOrientation);

                // Replace the item's content with the new group
                pieceRemaining.Content = joinedPiece;

                // Resize the item to the size of the piece
                pieceRemaining.Width = Math.Round(joinedPiece.ClipShape.Bounds.Width, 0);
                pieceRemaining.Height = Math.Round(joinedPiece.ClipShape.Bounds.Height, 0);

                // Adjust the center
                pieceRemaining.Center = pieceRemaining.ActualCenter + centerAdjustment;

                // Bind the item to the new piece
                Binding binding = new Binding();
                binding.Source = joinedPiece;
                pieceRemaining.SetBinding(ScatterViewItem.DataContextProperty, binding);
                pieceRemaining.SetRelativeZIndex(RelativeScatterViewZIndex.AboveInactiveItems);

                // Remove the old item from the ScatterView
                scatter.Items.Remove(pieceBeingRemoved);

                // Set this to false before StartJoinIfPossible. If there is another join, JoinPieces will set joinInProgress to true,
                // and then it will immediately be set back when StartJoinIfPossible returns.
                joinInProgress = false;

                // See if there are any other pieces eligible to join to the newly joined piece
                StartJoinIfPossible(pieceRemaining);
            }
            else
            {
                // Still want to set this to false, even if no join was performed
                joinInProgress = false;
            }
        }
开发者ID:AnthonyB28,项目名称:Marist_Map,代码行数:49,代码来源:Window1.xaml.cs


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