static void ItemContainerGenerator_ItemsChanged(object sender, System.Windows.Controls.Primitives.ItemsChangedEventArgs e, ListView parent)
 {
     if (parent != null)
     {
         GetCurrentSortColumn(parent).Sort();
     }
 }
 private void ItemContainerGenerator_ItemsChanged(object sender, System.Windows.Controls.Primitives.ItemsChangedEventArgs e)
 {
     for (var i = 0; i < ListBox.ItemContainerGenerator.Items.Count; i++)
     {
         try
         {
             var element =
                 (FrameworkElement)ListBox.ItemContainerGenerator.ContainerFromIndex(i);
             if (element == null)
             {
                 continue;
             }
             object found;
             found = WpfTreeUtilities.FindVisualChild <StackPanel>(element).FindName("Number");
             var textBlock = found as TextBlock;
             if (textBlock == null)
             {
                 continue;
             }
             var bindingExpression = BindingOperations.GetMultiBindingExpression(textBlock, TextBlock.TextProperty);
             bindingExpression?.UpdateTarget();
         }
         catch (Exception ex)
         {
             Debug.WriteLine("Oh no " + ex);
         }
     }
 }
Пример #3
0
        protected override void OnItemsChanged(object sender, System.Windows.Controls.Primitives.ItemsChangedEventArgs args)
        {
            switch (args.Action)
            {
            case NotifyCollectionChangedAction.Remove:
                System.Diagnostics.Debug.Assert(args.ItemUICount <= 1);
                if (args.ItemUICount > 0)
                {
                    OnChildRemoved(args.Position.Index);
                }
                break;
            }

            if (args.Action == NotifyCollectionChangedAction.Move)
            {
                // We need to temporarily save the offsets because the base implementation
                // doesn't always respect 'Move'
                System.Diagnostics.Debug.Assert(args.ItemUICount == 1);
                var oldIndex = args.OldPosition.Index + args.OldPosition.Offset;
                var newIndex = args.Position.Index + args.Position.Offset;
                var child    = InternalChildren[oldIndex];
                _movedItemOffsets[newIndex] = VisualTreeHelper.GetOffset(child);
            }

            base.OnItemsChanged(sender, args);
        }
 void ItemContainerGenerator_ItemsChanged(object sender, System.Windows.Controls.Primitives.ItemsChangedEventArgs e)
 {
     if (e.Action == NotifyCollectionChangedAction.Add)
     {
         //Messages.ScrollToBottom();
     }
 }
Пример #5
0
 private void ItemContainerGenerator_ItemsChanged(object sender,
                                                  System.Windows.Controls.Primitives.ItemsChangedEventArgs e)
 {
     if (AssociatedObject.Items.Any())
     {
         AssociatedObject.ScrollIntoView(AssociatedObject.Items[AssociatedObject.Items.Count - 1]);
     }
 }
Пример #6
0
        private void ItemContainerGenerator_ItemsChanged(object sender, System.Windows.Controls.Primitives.ItemsChangedEventArgs e)
        {
            if (_scrollViewer == null)
            {
                _scrollViewer = VisualHelper.GetChild <ScrollViewer>(ListBoxChat);
            }

            _scrollViewer?.ScrollToBottom();
        }
        private void listView_ItemUpdated(object sender, System.Windows.Controls.Primitives.ItemsChangedEventArgs e)
        {
            canvas123.Children.Clear();

            foreach (Dogadjaj d in listaDog)
            {
                canvasCreated(d);
            }
        }
Пример #8
0
        private void ItemContainerGenerator_ItemsChanged(object sender, System.Windows.Controls.Primitives.ItemsChangedEventArgs e)
        {
            if (e == null)
            {
                throw new ArgumentNullException(nameof(e));
            }

            this.VisibleItemsList = this.ItemContainerGenerator.Items;
            VisibleItemListChanged?.Invoke(VisibleItemsList);
        }
Пример #9
0
 private void OnItemsChanged(object sender, System.Windows.Controls.Primitives.ItemsChangedEventArgs e)
 {
     if (0 < this.AssociatedObject.Items.Count)
     {
         if (this.AssociatedObject.RowDetailsTemplate == null && this.HasRowDetails)
         {
             this.CreateDataGridRowDetailsTemplate();
         }
     }
 }
Пример #10
0
        public static async Task Add(object sender, System.Windows.Controls.Primitives.ItemsChangedEventArgs e)
        {
            var itemsControl = sender as ItemsControl;

            if (itemsControl == null)
            {
                return;
            }

            //最上位への追加でない場合リターン
            if (e.Position.Index > 0)
            {
                return;
            }

            ScrollViewer scrollViewer    = null;
            var          controlTemplate = itemsControl.Template;

            if (controlTemplate != null)
            {
                scrollViewer = controlTemplate.FindName("ScrollViewer", itemsControl) as ScrollViewer;
            }

            if (scrollViewer != null)
            {
                var height         = scrollViewer.ExtentHeight;
                var verticalOffset = ScrollViewerBehavior.GetVerticalOffset(scrollViewer);
                var type           = GetAddingScroll(itemsControl);
                //少しでもスクロールされている場合、その表示内容が同じ位置に来るように再計算
                if (type == Types.Timeline && verticalOffset != 0 || type == Types.Statuses)
                {
                    await Task.Run(() =>
                    {
                        for (int i = 0; i < 3000; i++)
                        {
                            //描画されるまで最大3秒待つ
                            if (height != scrollViewer.ExtentHeight)
                            {
                                break;
                            }

                            System.Threading.Thread.Sleep(1);
                        }
                    });

                    //追加後の高さ
                    var newHeight = scrollViewer.ExtentHeight;
                    //増えた高さ分だけスクロール位置を下げる
                    ScrollViewerBehavior.SetVerticalOffset(scrollViewer, ScrollViewerBehavior.GetVerticalOffset(scrollViewer) + (newHeight - height));
                }
            }
        }
    private void ItemContainerGenerator_ItemsChanged(object sender,
                                                     System.Windows.Controls.Primitives.ItemsChangedEventArgs e)
    {
        var childscount = VisualTreeHelper.GetChildrenCount(AssociatedObject);

        for (int i = 0; i < childscount; i++)
        {
            if (VisualTreeHelper.GetChild(AssociatedObject, i) is ScrollViewer)
            {
                var sv = VisualTreeHelper.GetChild(AssociatedObject, i) as ScrollViewer;
                sv.ScrollToVerticalOffset(sv.ScrollableHeight);
                break;
            }
        }
    }
Пример #12
0
        /// <summary>
        /// Handles the ItemsChanged event of the ItemContainerGenerator control.
        /// </summary>
        /// <param name="sender">The source of the event.</param>
        /// <param name="e">The <see cref="System.Windows.Controls.Primitives.ItemsChangedEventArgs"/> instance containing the event data.</param>
        private void ItemContainerGenerator_ItemsChanged(object sender, System.Windows.Controls.Primitives.ItemsChangedEventArgs e)
        {
            if (e.Action == System.Collections.Specialized.NotifyCollectionChangedAction.Add)
            {
                Dispatcher.BeginInvoke(new ItemChangedDelegate(i =>
                {
                    ListBoxItem item = (ListBoxItem)this.ItemContainerGenerator.ContainerFromIndex(i);
                    if (item != null)
                    {
                        VisualStateManager.GoToState(item, "BeforeLoaded", false);
                        VisualStateManager.GoToState(item, "AfterLoaded", true);
                    }
                }), e.Position.Index + e.Position.Offset);
            }
            else if (e.Action == System.Collections.Specialized.NotifyCollectionChangedAction.Remove)
            {
                Dispatcher.BeginInvoke(new ItemChangedDelegate(i =>
                {
                    ListBoxItem item = (ListBoxItem)this.ItemContainerGenerator.ContainerFromIndex(i);
                    if (item != null)
                    {
                        VisualStateManager.GoToState(item, "BeforeUnloaded", true);
                    }
                }), e.Position.Index + e.Position.Offset);
            }
            else if (e.Action == System.Collections.Specialized.NotifyCollectionChangedAction.Replace)
            {
                Dispatcher.BeginInvoke(new ItemChangedDelegate(i =>
                {
                    ListBoxItem item = (ListBoxItem)this.ItemContainerGenerator.ContainerFromIndex(i);
                    if (item != null)
                    {
                        VisualStateManager.GoToState(item, "BeforeLoaded", true);
                        VisualStateManager.GoToState(item, "AfterLoaded", true);
                    }
                }), e.Position.Index + e.Position.Offset);
            }
            else if (e.Action == System.Collections.Specialized.NotifyCollectionChangedAction.Reset)
            {
                var observableBefore = from t in Observable.Interval(TimeSpan.FromMilliseconds(ListAnimationInterval / 2.0d)).TimeInterval().Take(this.Items.Count)
                                       select t.Value;
                var observableAfter = from t in Observable.Interval(TimeSpan.FromMilliseconds(ListAnimationInterval / 2.0d)).TimeInterval().Take(this.Items.Count)
                                      select t.Value;

                // This timer will allow us to delay slightly the afterloaded states
                System.Windows.Threading.DispatcherTimer dt = new System.Windows.Threading.DispatcherTimer();
                dt.Tick += (sen, evt) =>
                {
                    dt.Stop();
                    observableAfter.Subscribe(i => Dispatcher.BeginInvoke(() =>
                    {
                        if (this.ItemContainerGenerator.ContainerFromIndex((int)i) == null)
                        {
                            return;
                        }
                        VisualStateManager.GoToState(
                            (ListBoxItem)this.ItemContainerGenerator.ContainerFromIndex((int)i), "AfterLoaded", true);
                    }));
                };
                dt.Interval = TimeSpan.FromMilliseconds(ListAnimationInterval * 2.0d);

                observableBefore.Subscribe(i => Dispatcher.BeginInvoke(() =>
                {
                    if (this.ItemContainerGenerator.ContainerFromIndex((int)i) == null)
                    {
                        return;
                    }
                    VisualStateManager.GoToState(
                        (ListBoxItem)this.ItemContainerGenerator.ContainerFromIndex((int)i), "BeforeLoaded", true);
                }));
                dt.Start();
            }
        }
 protected virtual new void OnItemsChanged(Object sender, System.Windows.Controls.Primitives.ItemsChangedEventArgs args)
 {
     Contract.Requires(args != null);
 }
 private void ItemContainerGenerator_ItemsChanged(object sender, System.Windows.Controls.Primitives.ItemsChangedEventArgs e) => DataLoadedProgressBar.IsIndeterminate = false;
 protected override void OnItemsChanged(Object sender, System.Windows.Controls.Primitives.ItemsChangedEventArgs args)
 {
 }
Пример #16
0
 private void list_changes(object sender, System.Windows.Controls.Primitives.ItemsChangedEventArgs e)
 {
 }
Пример #17
0
     private void list_changes(object sender, System.Windows.Controls.Primitives.ItemsChangedEventArgs e)
  {
      listBox1.UpdateLayout();
      listBox1.ScrollIntoView(fixedItem); 
 }
Пример #18
0
 private void ItemContainerGenerator_ItemsChanged(object sender, System.Windows.Controls.Primitives.ItemsChangedEventArgs e) => _model.CheckUpdateAsync();
Пример #19
0
 protected virtual new void OnItemsChanged(Object sender, System.Windows.Controls.Primitives.ItemsChangedEventArgs args)
 {
 }
Пример #20
0
 private void ItemContainerGenerator_ItemsChanged(object sender, System.Windows.Controls.Primitives.ItemsChangedEventArgs e)
 {
     svLines.ScrollToEnd();
 }
 void ItemContainerGenerator_ItemsChanged(object sender, System.Windows.Controls.Primitives.ItemsChangedEventArgs e)
 {
     //throw new NotImplementedException();
 }
Пример #22
0
 private void ItemContainerGenerator_ItemsChanged(object sender, System.Windows.Controls.Primitives.ItemsChangedEventArgs e)
 {
     SyncSelectedItem();
 }