Exemplo n.º 1
0
        // This method returns a bool to indicate if or not the panel layout is affected by this collection change
        internal override bool OnItemsChangedInternal(object sender, ItemsChangedEventArgs args)
        {
            switch (args.Action)
            {
                case NotifyCollectionChangedAction.Add:
                    AddChildren(args.Position, args.ItemCount);
                    break;
                case NotifyCollectionChangedAction.Remove:
                    RemoveChildren(args.Position, args.ItemUICount);
                    break;
                case NotifyCollectionChangedAction.Replace:
                    ReplaceChildren(args.Position, args.ItemCount, args.ItemUICount);
                    break;
                case NotifyCollectionChangedAction.Move:
                    MoveChildren(args.OldPosition, args.Position, args.ItemUICount);
                    break;

                case NotifyCollectionChangedAction.Reset:
                    base.OnItemsChangedInternal(sender, args);
                    break;
            }

            return true;
        }
Exemplo n.º 2
0
        private void ItemContainerGenerator_ItemsChanged(object sender, ItemsChangedEventArgs e)
        {
            if (e.Action == NotifyCollectionChangedAction.Add)
            {
                Friend addedFriend = (lstFriends.Items.Last() as Friend);
                layers = new MapLayer();
                overlay = new MapOverlay();

                image = new BitmapImage();
                image.UriSource = (new Uri(addedFriend.Picture, UriKind.Absolute));

                brush = new ImageBrush();
                brush.ImageSource = image;
                ellipse = new Ellipse();
                ellipse.DataContext = addedFriend;
                ellipse.Hold += ellipse_Hold;
                ellipse.Height = 100;
                ellipse.Width = 100;
                ellipse.Fill = brush;

                overlay.GeoCoordinate = new GeoCoordinate(addedFriend.LastPosition.Latitude, addedFriend.LastPosition.Longitude);
                overlay.Content = ellipse;
                layers.Add(overlay);
                myMap.Layers.Add(layers);
            }
        }
        /// <summary>
        /// Extends BeginInvoke so that when a state object is not needed, null does not need to be passed.
        /// <example>
        /// itemschangedeventhandler.BeginInvoke(sender, e, callback);
        /// </example>
        /// </summary>
        public static IAsyncResult BeginInvoke(this ItemsChangedEventHandler itemschangedeventhandler, Object sender, ItemsChangedEventArgs e, AsyncCallback callback)
        {
            if(itemschangedeventhandler == null) throw new ArgumentNullException("itemschangedeventhandler");

            return itemschangedeventhandler.BeginInvoke(sender, e, callback, null);
        }
Exemplo n.º 4
0
 private void ItemContainerGenerator_ItemsChanged(object sender, System.Windows.Controls.Primitives.ItemsChangedEventArgs e)
 {
     _scrollViewer ??= VisualHelper.GetChild <ScrollViewer>(ListBoxChat);
     _scrollViewer?.ScrollToBottom();
 }