예제 #1
0
 public void OnMouseDoubleClick(RoutedEventHandler handler)
 {
     _handler = handler;
     _playList.AddHandler(GridViewRowPresenter.MouseLeftButtonDownEvent,
                          new RoutedEventHandler(MouseDown));
     _playList.AddHandler(GridViewRowPresenter.MouseLeftButtonUpEvent,
                          new RoutedEventHandler(MouseUp));
     _playList.AddHandler(GridViewRowPresenter.MouseMoveEvent,
                          new RoutedEventHandler(MouseMove));
 }
 private static void RegisterSortableGridView(ListView grid,
                                              DependencyPropertyChangedEventArgs args)
 {
     if (args.NewValue is Boolean && (Boolean)args.NewValue)
     {
         grid.AddHandler(ButtonBase.ClickEvent,
                         new RoutedEventHandler(GridViewColumnHeaderClickedHandler));
     }
     else
     {
         grid.AddHandler(ButtonBase.ClickEvent,
                         new RoutedEventHandler(GridViewColumnHeaderClickedHandler));
     }
 }
예제 #3
0
        /// Called when [register sortable grid].
        private static void OnRegisterSortableGrid(DependencyObject obj, DependencyPropertyChangedEventArgs args)
        {
            // Check if we are in design mode, if so don't do anything.
            if ((Boolean)(DesignerProperties.IsInDesignModeProperty.GetMetadata(typeof(DependencyObject)).DefaultValue))
            {
                return;
            }

            ListView view = obj as ListView;

            if (view != null)
            {
                foreach (string s in _listViewDefinitions.Keys)
                {
                    if (s.ToString() == view.Name)
                    {
                        _listViewDefinitions.Remove(view.Name);
                        break;
                    }
                }
                if (!string.IsNullOrEmpty(view.Name))
                {
                    _listViewDefinitions.Add(view.Name, new ListViewSortItem(System.Activator.CreateInstance(Type.GetType(GetCustomListViewSorter(obj))) as IListViewCustomComparer, null, ListSortDirection.Ascending));
                    view.AddHandler(GridViewColumnHeader.ClickEvent, new RoutedEventHandler(GridViewColumnHeaderClickedHandler));
                }
            }
        }
        private void ListView_Loaded(object sender, RoutedEventArgs e)
        {
            ListView     listView = (ListView)sender;
            ScrollViewer scroll   = VisualTreeHelperEx.FindDescendantByType <ScrollViewer>(listView);

            if (scroll == null)
            {
                return;
            }

            // 鼠标横向滚动。
            listView.AddHandler(MouseWheelEvent, new MouseWheelEventHandler((mouseWheelSender, mouseWheelEventArgs) =>
            {
                var delta = mouseWheelEventArgs.Delta;
                if (delta > 0)
                {
                    scroll.LineLeft();
                }
                else
                {
                    scroll.LineRight();
                }
            }), true);


            var bar = scroll.FindVisualChildren <ScrollBar>().ElementAt(2);

            bar.ValueChanged += bar_ValueChanged;
            _bottomBar        = bar;
        }
예제 #5
0
        private static void UpdateAutoSizing(FrameworkElement fe, bool enable)
        {
            ListView list_view = fe as ListView;

            if (list_view == null)
            {
                return;
            }
            GridView grid_view = list_view.View as GridView;

            if (grid_view == null)
            {
                return;
            }

            if (enable)
            {
                AutoSizeColumns(list_view, true);
                UpdateIsLastColumn(list_view);
                list_view.SizeChanged += ListViewSizeChanged;
                list_view.AddHandler(Thumb.DragDeltaEvent, new DragDeltaEventHandler(ColumnHeaderResized), true);

                grid_view.Columns.CollectionChanged += GridViewColumnsCollectionChanged;
                foreach (var col in grid_view.Columns)
                {
                    SetParentListView(col, list_view);
                }
            }
            else
            {
                list_view.SizeChanged -= ListViewSizeChanged;
                list_view.RemoveHandler(Thumb.DragDeltaEvent, new DragDeltaEventHandler(ColumnHeaderResized));
                grid_view.Columns.CollectionChanged -= GridViewColumnsCollectionChanged;
            }
        }
예제 #6
0
        private static void OnSortCommandChanged(DependencyObject obj, DependencyPropertyChangedEventArgs args)
        {
            ListView list_view = obj as ListView;

            if (list_view == null)
            {
                return;
            }
            GridView grid_view = list_view.View as GridView;

            if (grid_view == null)
            {
                return;
            }

            bool has_old_value = (args.OldValue != null);
            bool has_new_value = (args.NewValue != null);

            if (has_old_value && !has_new_value)
            {
                list_view.RemoveHandler(GridViewColumnHeader.ClickEvent, new RoutedEventHandler(ColumnHeaderClick));
                foreach (var column in grid_view.Columns)
                {
                    ListViewAttachedProperties.SetSortCommand(column, (ICommand)args.OldValue);
                }
            }
            if (!has_old_value && has_new_value)
            {
                list_view.AddHandler(GridViewColumnHeader.ClickEvent, new RoutedEventHandler(ColumnHeaderClick));
                foreach (var column in grid_view.Columns)
                {
                    ListViewAttachedProperties.SetSortCommand(column, (ICommand)args.NewValue);
                }
            }
        }
예제 #7
0
        void Initialize(IGridViewColumnDescsProvider descsProvider)
        {
            if (descsProvider is null)
            {
                return;
            }
            Debug2.Assert(this.descsProvider is null);
            this.descsProvider = descsProvider;
            descsProvider.Descs.SortedColumnChanged += OnSortedColumnChanged;
            listView.AddHandler(ButtonBase.ClickEvent, new RoutedEventHandler(ListView_Click));

            var gridView = (GridView)listView.View;

            gridView.Columns.CollectionChanged += GridView_Columns_CollectionChanged;

            var cols     = gridView.Columns;
            var idToDesc = new Dictionary <int, GridViewColumnDesc>();

            foreach (var desc in descsProvider.Descs.Columns)
            {
                idToDesc.Add(desc.Id, desc);
            }
            foreach (var col in cols)
            {
                int colId = GetId(col);
                if (!idToDesc.TryGetValue(colId, out var desc))
                {
                    throw new InvalidOperationException("Missing GridViewColumn Id");
                }
                toDesc.Add(col, desc);
                col.Header = desc.Name;
            }

            UpdateColumns();
        }
예제 #8
0
        private static void OnAutoSortChanged(DependencyObject o, DependencyPropertyChangedEventArgs e)
        {
            ListView listView = o as ListView;

            if (listView == null)
            {
                return;
            }

            // Don't change click handler if a command is set
            if (GetSortCommand(listView) != null)
            {
                return;
            }

            bool oldValue = (bool)e.OldValue;
            bool newValue = (bool)e.NewValue;

            if (oldValue && !newValue)
            {
                listView.RemoveHandler(ButtonBase.ClickEvent, new RoutedEventHandler(ColumnHeader_Click));
            }
            if (!oldValue && newValue)
            {
                listView.AddHandler(ButtonBase.ClickEvent, new RoutedEventHandler(ColumnHeader_Click));
                listView.DoWhenLoaded(SetGlyphForInitialSort);
            }
        }
예제 #9
0
 public MainWindow()
 {
     InitializeComponent();
     ListView.AddHandler(Thumb.DragDeltaEvent,
                         new DragDeltaEventHandler(Target),
                         true);
 }
        static GridViewSort()
        {
            PropertyChangedCallback commandCallback = (o, e) =>
            {
                ItemsControl listView = o as ItemsControl;
                if (listView != null)
                {
                    if (!GetAutoSort(listView))
                    {
                        if (e.OldValue != null && e.NewValue == null)
                        {
                            listView.RemoveHandler(ButtonBase.ClickEvent, new RoutedEventHandler(ColumnHeaderClick));
                        }

                        if (e.OldValue == null && e.NewValue != null)
                        {
                            listView.AddHandler(ButtonBase.ClickEvent, new RoutedEventHandler(ColumnHeaderClick));
                        }
                    }
                }
            };

            CommandProperty = DependencyProperty.RegisterAttached(
                "Command",
                typeof(ICommand),
                typeof(GridViewSort),
                new UIPropertyMetadata(null, commandCallback));

            PropertyChangedCallback autoSortCallback = (o, e) =>
            {
                ListView listView = o as ListView;
                if (listView != null)
                {
                    // Don't change click handler if a command is set
                    if (GetCommand(listView) == null)
                    {
                        bool oldValue = (bool)e.OldValue;
                        bool newValue = (bool)e.NewValue;
                        if (oldValue && !newValue)
                        {
                            listView.RemoveHandler(ButtonBase.ClickEvent, new RoutedEventHandler(ColumnHeaderClick));
                        }

                        if (!oldValue && newValue)
                        {
                            listView.AddHandler(ButtonBase.ClickEvent, new RoutedEventHandler(ColumnHeaderClick));
                        }
                    }
                }
            };

            AutoSortProperty = DependencyProperty.RegisterAttached(
                "AutoSort",
                typeof(bool),
                typeof(GridViewSort),
                new UIPropertyMetadata(false, autoSortCallback));
        }
        public Form TextBoxMultipleFor(string fieldName)
        {
            var items = new ObservableCollection <BindableDynamicDictionary>();

            this.Model[fieldName] = items;
            items.Add(new BindableDynamicDictionary()); // start with one blank entry

            ListView lv = new ListView();

            SetupListViewStyleForMultipleItems(lv);

            string dataTemplateXaml = @"
                <DataTemplate xmlns=""http://schemas.microsoft.com/winfx/2006/xaml/presentation""
                                xmlns:x=""http://schemas.microsoft.com/winfx/2006/xaml"">
                    <DockPanel >
                        <Button Name=""AddRowButton"" Content=""Add"" DockPanel.Dock=""Right"" />
                        <Button Name=""RemoveRowButton"" Content=""Remove"" DockPanel.Dock=""Right"" />
                        <TextBox Text=""{Binding Path=Text, Mode=TwoWay}"" DockPanel.Dock=""Left"" />
                    </DockPanel>
                </DataTemplate>
            ";
            var    template         = (DataTemplate)XamlReader.Parse(dataTemplateXaml);

            lv.ItemTemplate = template;

            Binding itemSourceBind = new Binding();

            itemSourceBind.Source = this.Model;
            itemSourceBind.Path   = new PropertyPath(fieldName);
            BindingOperations.SetBinding(lv, ListView.ItemsSourceProperty, itemSourceBind);

            var buttonClick = new RoutedEventHandler((s, e) =>
            {
                Button btn = e.OriginalSource as Button;

                if (string.Equals(btn.Name, "AddRowButton"))
                {
                    // this is the add row button
                    items.Add(new BindableDynamicDictionary());
                }
                else if (string.Equals(btn.Name, "RemoveRowButton"))
                {
                    var model = btn.DataContext as BindableDynamicDictionary;
                    if (items.Count > 1)
                    {
                        items.Remove(model);
                    }
                }
            });

            // from: http://stackoverflow.com/questions/19706044/datatemplate-at-runtime-with-event
            lv.AddHandler(Button.ClickEvent, buttonClick);

            this.AddRowToHost(lv, fieldName);

            return(this);
        }
예제 #12
0
        private void RegisterEvents()
        {
            RegisterEvents(listView);

            if (HasSortedColumn)
            {
                listView.AddHandler(GridViewColumnHeader.ClickEvent, new RoutedEventHandler(GridViewColumnHeaderClickedHandler));
            }
        }
예제 #13
0
        public override void OnApplyTemplate()
        {
            base.OnApplyTemplate();

            _selItemCol = (FrameworkElement)Template.FindName("PART_SelectedItemColumn", this);
            _selItemCol.PreviewMouseLeftButtonDown += OnSelectedItemContentClicked;

            _listView = (ListView)Template.FindName("PART_ListView", this);
            _listView.ItemContainerGenerator.StatusChanged += OnListViewItemsChanged;
            _listView.AddHandler(ScrollViewer.ScrollChangedEvent, new RoutedEventHandler(OnScrolled));
            //_listView.AddHandler(ScrollBar.ScrollEvent, new RoutedEventHandler(OnScrolled));
            _listView.AddHandler(Selector.SelectionChangedEvent, new RoutedEventHandler(OnListItemChanged));
            _listView.AddHandler(PreviewMouseDownEvent, new RoutedEventHandler(OnListClicked));
            _listView.AddHandler(LostFocusEvent, new RoutedEventHandler(OnListLostFocus));

            //_popup = (Popup) Template.FindName("PART_Popup", this);

            _textBox = (TextBox)Template.FindName("PART_TextBox", this);
            _textBox.PreviewKeyDown += (o, e) => OnPreviewKeyDown(e);
            _textBox.LostFocus      += OnTextBoxLostFocus;
        }
        //creates the overview of the fleet
        private StackPanel createOverviewPanel()
        {
            StackPanel panelOverview = new StackPanel();

            TextBlock txtFleetBoughtHeader = new TextBlock();

            txtFleetBoughtHeader.Uid    = "1003";
            txtFleetBoughtHeader.Margin = new Thickness(0, 0, 0, 0);
            txtFleetBoughtHeader.HorizontalAlignment = System.Windows.HorizontalAlignment.Stretch;
            txtFleetBoughtHeader.SetResourceReference(TextBlock.BackgroundProperty, "HeaderBackgroundBrush2");
            txtFleetBoughtHeader.FontWeight = FontWeights.Bold;
            txtFleetBoughtHeader.Text       = Translator.GetInstance().GetString("PageAirlineFleet", txtFleetBoughtHeader.Uid);

            panelOverview.Children.Add(txtFleetBoughtHeader);

            lvBoughtFleet            = new ListView();
            lvBoughtFleet.Background = Brushes.Transparent;
            lvBoughtFleet.SetResourceReference(ListView.ItemContainerStyleProperty, "ListViewItemStyle");
            lvBoughtFleet.MaxHeight = (GraphicsHelpers.GetContentHeight() - 100) / 2;
            lvBoughtFleet.AddHandler(GridViewColumnHeader.ClickEvent, new RoutedEventHandler(FleetHeaderClickedHandler), true);
            lvBoughtFleet.BorderThickness = new Thickness(0);
            lvBoughtFleet.View            = this.Resources["FleetViewBoughtItem"] as GridView;

            panelOverview.Children.Add(lvBoughtFleet);

            lvBoughtFleet.ItemsSource = this.FleetDelivered.Where(f => f.Purchased == FleetAirliner.PurchasedType.Bought || f.Purchased == FleetAirliner.PurchasedType.BoughtDownPayment);

            TextBlock txtFleetLeasedHeader = new TextBlock();

            txtFleetLeasedHeader.Uid    = "1012";
            txtFleetLeasedHeader.Margin = new Thickness(0, 5, 0, 0);
            txtFleetLeasedHeader.HorizontalAlignment = System.Windows.HorizontalAlignment.Stretch;
            txtFleetLeasedHeader.SetResourceReference(TextBlock.BackgroundProperty, "HeaderBackgroundBrush2");
            txtFleetLeasedHeader.FontWeight = FontWeights.Bold;
            txtFleetLeasedHeader.Text       = Translator.GetInstance().GetString("PageAirlineFleet", txtFleetLeasedHeader.Uid);

            panelOverview.Children.Add(txtFleetLeasedHeader);

            lvLeasedFleet            = new ListView();
            lvLeasedFleet.Background = Brushes.Transparent;
            lvLeasedFleet.SetResourceReference(ListView.ItemContainerStyleProperty, "ListViewItemStyle");
            lvLeasedFleet.MaxHeight = (GraphicsHelpers.GetContentHeight() - 100) / 2;
            lvLeasedFleet.AddHandler(GridViewColumnHeader.ClickEvent, new RoutedEventHandler(FleetHeaderClickedHandler), true);
            lvLeasedFleet.View = this.Resources["FleetViewLeasedItem"] as GridView;

            panelOverview.Children.Add(lvLeasedFleet);

            lvLeasedFleet.ItemsSource = this.FleetDelivered.Where(f => f.Purchased == FleetAirliner.PurchasedType.Leased);

            return(panelOverview);
        }
예제 #15
0
 /// <summary>
 /// Registers a ListView to allow sorting
 /// </summary>
 private static void RegisterSortableGridview(ListView grid,
                                              DependencyPropertyChangedEventArgs args)
 {
     if (args.NewValue is Boolean && (Boolean)args.NewValue)
     {
         grid.AddHandler(GridViewColumnHeader.ClickEvent,
                         GridViewColumnHeaderClickHandler);
     }
     else
     {
         grid.RemoveHandler(GridViewColumnHeader.ClickEvent,
                            GridViewColumnHeaderClickHandler);
     }
 }
예제 #16
0
        public static object OnCoerceIsSortingEnabled(DependencyObject source, object value)
        {
            ListView lv = (source as ListView);

            //Ensure we dont have an invalid dependancy object of type ListView.
            if (lv == null)
            {
                throw new ArgumentException("This property may only be used on ListViews");
            }
            lv.RemoveHandler(GridViewColumnHeader.ClickEvent, new RoutedEventHandler(ColumnHeader_Click));
            lv.AddHandler(GridViewColumnHeader.ClickEvent, new RoutedEventHandler(ColumnHeader_Click));

            return(value);
        }
예제 #17
0
        static void OnSortModeChanged(DependencyObject sender, DependencyPropertyChangedEventArgs args)
        {
            ListView grid = sender as ListView;

            if (grid != null)
            {
                if ((ListViewSortMode)args.NewValue != ListViewSortMode.None)
                {
                    grid.AddHandler(GridViewColumnHeader.ClickEvent, new RoutedEventHandler(GridViewColumnHeaderClickHandler));
                }
                else
                {
                    grid.RemoveHandler(GridViewColumnHeader.ClickEvent, new RoutedEventHandler(GridViewColumnHeaderClickHandler));
                }
            }
        }
예제 #18
0
        private static void OnSortEnabledChanged(DependencyObject dobj, DependencyPropertyChangedEventArgs e)
        {
            ListView listView = dobj as ListView;

            if (listView != null)
            {
                if ((bool)e.NewValue)
                {
                    listView.AddHandler(ButtonBase.ClickEvent, new RoutedEventHandler(OnGridViewColumnHeaderClicked));
                }
                else
                {
                    listView.RemoveHandler(ButtonBase.ClickEvent, new RoutedEventHandler(OnGridViewColumnHeaderClicked));
                }
            }
        }
예제 #19
0
        internal ChooseItemsPage(ToolboxControlledPageDataSource dataSource)
        {
            _data = dataSource;
            if (_data == null)
            {
                throw new ArgumentException("Data source cannot be null");
            }

            DataContext = dataSource;
            InitializeComponent();
            AddColumns(dataSource);
            InitializeSortColumnFromDataSource();
            ListView.AddHandler(Thumb.DragDeltaEvent, new DragDeltaEventHandler(OnColumnHeaderDividerDragged), true);
            ListView.SelectionChanged += ListView_SelectionChanged;
            _data.PropertyChanged     += OnProertyChanged;
            SetViewFilterAndSubscribeToItemsCollectionChanges();
        }
예제 #20
0
        private static void OnHeaderSortPropertyChanged(DependencyObject sender, DependencyPropertyChangedEventArgs e)
        {
            ListView listView = sender as ListView;

            if (listView == null)
            {
                throw new InvalidOperationException("HeaderSort Property can only be set on a ListView");
            }

            if ((bool)e.NewValue)
            {
                listView.AddHandler(GridViewColumnHeader.ClickEvent, new RoutedEventHandler(OnListViewHeaderClick));
            }
            else
            {
                listView.RemoveHandler(GridViewColumnHeader.ClickEvent, new RoutedEventHandler(OnListViewHeaderClick));
            }
        }
예제 #21
0
        }               /* method ListViewSorter OnColumnHeaderClick */

        /// <summary>
        /// Handles changes of the ListView IsSortable attached property
        /// </summary>
        /// <param name="obj"></param>
        /// <param name="e"></param>
        /// <remarks>
        /// Sets or clears the attached ClickEvent handler
        /// </remarks>
        static private void OnIsSortableChanged(DependencyObject obj, DependencyPropertyChangedEventArgs e)
        {
            ListView lv = obj as ListView;

            if (obj != null)
            {
                if (e.NewValue is bool)
                {
                    if ((bool)e.NewValue)
                    {
                        lv.AddHandler(GridViewColumnHeader.ClickEvent, new RoutedEventHandler(OnColumnHeaderClick));
                    }
                    else
                    {
                        lv.RemoveHandler(GridViewColumnHeader.ClickEvent, new RoutedEventHandler(OnColumnHeaderClick));
                    }
                }
            }
        }               /* method ListViewSorter OnIsSortableChanged */
예제 #22
0
        private static void OnRegisterSortableGrid(DependencyObject obj, DependencyPropertyChangedEventArgs args)
        {
            if ((bool)(DesignerProperties.IsInDesignModeProperty.GetMetadata(typeof(DependencyObject)).DefaultValue))
            {
                return;
            }

            ListView listView = obj as ListView;

            if ((listView != null) && !_listViewDefinitions.ContainsKey(listView.Name))
            {
                try
                {
                    _listViewDefinitions.Add(listView.Name, new ListViewSortItem(Activator.CreateInstance(Type.GetType(GetCustomListViewSorter(obj))) as IListViewCustomComparer, null, ListSortDirection.Ascending));
                    listView.AddHandler(GridViewColumnHeader.ClickEvent, new RoutedEventHandler(GridViewColumnHeaderClickedHandler));
                }
                catch { }
            }
        }
        //registers to the column click of the header to apply the sort
        private static void RegisterSortHandler(DependencyObject obj,
                                                DependencyPropertyChangedEventArgs args)
        {
            ListView grid = obj as ListView;

            if (grid == null)
            {
                return;
            }

            GridViewSortHandler handler = args.NewValue as GridViewSortHandler;

            if (handler != null)
            {
                //register to click events of column header
                grid.AddHandler(GridViewColumnHeader.ClickEvent,
                                columnClickhandler);
            }
        }
예제 #24
0
        private static void OnHeaderSortPropertyChanged(DependencyObject sender, DependencyPropertyChangedEventArgs e)
        {
            ListView listView = sender as ListView;

            if (listView == null)
            {
                throw new InvalidOperationException(ResourceHelper.FindText("InvalidHeaderSortHost"));
            }

            if ((bool)e.NewValue)
            {
                listView.AddHandler(GridViewColumnHeader.ClickEvent, new RoutedEventHandler(OnListViewHeaderClick));
                listView.Dispatcher.BeginInvoke(DispatcherPriority.Loaded, new Action(() => InitializeSortDirection(listView)));
            }
            else
            {
                listView.RemoveHandler(GridViewColumnHeader.ClickEvent, new RoutedEventHandler(OnListViewHeaderClick));
            }
        }
예제 #25
0
        private static void ModifyColumnHeaderClick(ListView listView, bool subcribe)
        {
            ModuleProc PROC = new ModuleProc("", "ModifyColumnHeaderClick");

            try
            {
                if (subcribe)
                {
                    listView.AddHandler(GridViewColumnHeader.ClickEvent, new RoutedEventHandler(OnGridViewColumnHeaderClick));
                }
                else
                {
                    listView.RemoveHandler(GridViewColumnHeader.ClickEvent, new RoutedEventHandler(OnGridViewColumnHeaderClick));
                }
            }
            catch (Exception ex)
            {
                Log.Exception(PROC, ex);
            }
        }
예제 #26
0
        /// <summary>
        ///     Called when the IsSortedWithColumnHeader property changes.
        /// </summary>
        /// <param name="o">The o.</param>
        /// <param name="e">
        ///     The <see cref="System.Windows.DependencyPropertyChangedEventArgs" /> instance containing the event
        ///     data.
        /// </param>
        private static void OnIsSortedWithColumnHeaderChanged(DependencyObject o, DependencyPropertyChangedEventArgs e)
        {
            ListView listView = o as ListView;

            if (listView != null)
            {
                bool oldValue = (bool)e.OldValue;
                bool newValue = (bool)e.NewValue;

                if (oldValue && !newValue)
                {
                    listView.RemoveHandler(ButtonBase.ClickEvent, new RoutedEventHandler(ColumnHeader_Click));
                }

                if (!oldValue && newValue)
                {
                    listView.AddHandler(ButtonBase.ClickEvent, new RoutedEventHandler(ColumnHeader_Click));
                }
            }
        }
예제 #27
0
        private static void OnAutoSortPropertyChanged(DependencyObject o, DependencyPropertyChangedEventArgs e)
        {
            ListView listView = o as ListView;

            if (listView != null)
            {
                if (GetCommand(listView) == null) // Don't change click handler if a command is set
                {
                    bool oldValue = (bool)e.OldValue;
                    bool newValue = (bool)e.NewValue;
                    if (oldValue && !newValue)
                    {
                        listView.RemoveHandler(GridViewColumnHeader.ClickEvent, new RoutedEventHandler(ColumnHeader_Click));
                    }
                    if (!oldValue && newValue)
                    {
                        listView.AddHandler(GridViewColumnHeader.ClickEvent, new RoutedEventHandler(ColumnHeader_Click));
                    }
                }
            }
        }
예제 #28
0
        private static void OnIsEnabledPropertyChanged(DependencyObject d, DependencyPropertyChangedEventArgs e)
        {
            ListView listView = d as ListView;

            if (listView != null)
            {
                if (e.NewValue is bool)
                {
                    if ((bool)e.NewValue)
                    {
                        listView.AddHandler(GridViewColumnHeader.ClickEvent, new RoutedEventHandler(OnColumnHeaderClicked));
                        sorting.Add(listView, new Sorter());
                    }
                    else
                    {
                        listView.RemoveHandler(GridViewColumnHeader.ClickEvent, new RoutedEventHandler(OnColumnHeaderClicked));
                        sorting.Remove(listView);
                    }
                }
            }
        }
예제 #29
0
        public MainListView()
        {
            // Required to initialize variables
            InitializeComponent();
            //using Telerik.Windows;
            ListView.AddHandler(RadDragAndDropManager.DropQueryEvent, new EventHandler <DragDropQueryEventArgs>(TreeDropQuery), true);

            ListView.AddHandler(RadDragAndDropManager.DropInfoEvent, new EventHandler <DragDropEventArgs>(TreeDropInfo), true);

            ListView.PreviewDragEnded += PreviewDragEnded;
            InternalCommands.ExcelExportStart.RegisterCommand(new DelegateCommand(ExcelExportExecute));
            //InternalCommands.ItemSelected.RegisterCommand(new DelegateCommand<ListItemModelBase>(ItemSelected));

            //ListView.RowLoaded += new EventHandler<Telerik.Windows.Controls.GridView.RowLoadedEventArgs>(ListView_RowLoaded);
            //ListView.SelectionChanged += new EventHandler<SelectionChangeEventArgs>(ListView_SelectionChanged);
            //ListView.ItemContainerGenerator.StatusChanged += new EventHandler(ItemContainerGenerator_StatusChanged);
            //ListView.RowIsExpandedChanged += new EventHandler<RowEventArgs>(ListView_RowIsExpandedChanged);
            //ListView.DataLoaded += new EventHandler<System.EventArgs>(ListView_DataLoaded);

            //ListView.Export(new MemoryStream(),new GridViewExportOptions() {Format = ExportFormat.Csv});
        }
예제 #30
0
        public static void EnableGridViewSortChanged(
            object sender, DependencyPropertyChangedEventArgs e)
        {
            ListView lv = sender as ListView;

            if (lv == null)
            {
                return;
            }

            if (!(e.NewValue is bool))
            {
                return;
            }
            bool enableGridViewSort = (bool)e.NewValue;

            if (enableGridViewSort)
            {
                lv.AddHandler(
                    GridViewColumnHeader.ClickEvent,
                    new RoutedEventHandler(EnableGridViewSortGVHClicked)
                    );
                if (lv.View == null)
                {
                    lv.Loaded += new RoutedEventHandler(EnableGridViewSortLVLoaded);
                }
                else
                {
                    EnableGridViewSortLVInitialize(lv);
                }
            }
            else
            {
                lv.RemoveHandler(
                    GridViewColumnHeader.ClickEvent,
                    new RoutedEventHandler(EnableGridViewSortGVHClicked)
                    );
            }
        }