A behavior to keep ListView's SelectedItem into View: Difference between revisions

From Yggenyk
Jump to navigation Jump to search
(Created page with "Category:C Sharp <pre> using Windows.UI.Xaml.Controls; using Microsoft.Xaml.Interactivity; namespace TrackMan.Soccer.UWP.Behaviors { public class ScrollSelectedItemI...")
(No difference)

Revision as of 08:21, 22 July 2017


using Windows.UI.Xaml.Controls;
using Microsoft.Xaml.Interactivity;

namespace TrackMan.Soccer.UWP.Behaviors
{
    public class ScrollSelectedItemIntoViewBehavior : Behavior<ListView>
    {
        protected override void OnAttached()
        {
            base.OnAttached();
            AssociatedObject.SelectionChanged += ListView_SelectionChanged;
        }

        protected override void OnDetaching()
        {
            base.OnDetaching();
            AssociatedObject.SelectionChanged -= ListView_SelectionChanged;
        }

        private void ListView_SelectionChanged(object sender, SelectionChangedEventArgs e)
        {
            if (AssociatedObject.SelectedItem != null)
                AssociatedObject.ScrollIntoView(AssociatedObject.SelectedItem);
            else if (AssociatedObject.SelectedItems != null && AssociatedObject.SelectedItems.Count > 0)
                AssociatedObject.ScrollIntoView(AssociatedObject.SelectedItems[0]);
        }
    }
}

id=siteTree