private void AddSplitButtonItem(object sender, EventArgs ea) { IDesignerHost host = (IDesignerHost)GetService(typeof(IDesignerHost)); if (host != null) { SplitButtonItem baseItem = host.CreateComponent(typeof(SplitButtonItem)) as SplitButtonItem; baseItem.Name = baseItem.Site.Name; baseItem.Text = baseItem.Name; baseItem.eArrowDock = ArrowDock.eRight; baseItem.ShowNomalState = false; baseItem.Size = new Size(23, 23); this.m_ButtonGroupItem.BaseItems.Add(baseItem); } }
/// <summary> /// Add a new labeled column and assign the property to obtain its value from /// </summary> /// <param name="gridView">the GridView to add the column to</param> /// <param name="header">the title label of the column</param> /// <param name="propName">the property to use to obtain the value for the column</param> /// <param name="defaultSortDirection">report sorted by this column by default (ascending/descending). /// Use null if not initially sorted by this column. /// </param> private void AddColumnToGridView(GridView gridView, string header, string propName, ListSortDirection?defaultSortDirection) { var gridViewColumnHeader = new GridViewColumnHeader(); var splitButton = new SplitButton(); splitButton.Content = header; splitButton.Click += sortDefault; splitButton.Background = gridViewColumnHeader.Background; splitButton.BorderBrush = gridViewColumnHeader.Background; //-V3127 splitButton.BorderThickness = (Thickness) new ThicknessConverter().ConvertFromInvariantString("0"); var m = new SplitButtonItem(); m.Content = "Sort A to Z"; m.Click += sortA2Z; splitButton.Items.Add(m); m = new SplitButtonItem(); m.Content = "Sort Z to A"; m.Click += sortZ2A; splitButton.Items.Add(m); m = new SplitButtonItem(); m.Content = "Filter:"; m.Click += lvColumnHeader_Click; splitButton.Items.Add(m); splitButton.Margin = (Thickness) new ThicknessConverter().ConvertFromString("0,0,20,0"); gridViewColumnHeader.Content = splitButton; // margin added to make room for up/down sort marker gridViewColumnHeader.Tag = propName; // all columns are sortable, so store which field to use when sorting gridViewColumnHeader.Click += lvColumnHeader_Click; var gridViewColumn = new GridViewColumn(); gridViewColumn.Header = gridViewColumnHeader; gridViewColumn.DisplayMemberBinding = new Binding(propName); gridView.Columns.Add(gridViewColumn); // is report sorted by this column by default? //if (defaultSortDirection != null) sortByColumn(gridViewColumnHeader, defaultSortDirection); }
/// <summary> /// Populates the split search splitbutton with the buttons needed. /// Can't be done easily in XAML, so has to be run in code-behind at startup. /// </summary> private void PopulateSplitSearch() { // Create buttons SplitButtonItem btnMovie = new SplitButtonItem { Text = "Movies" }; SplitButtonItem btnTv = new SplitButtonItem { Text = "Series" }; SplitButtonItem btnBook = new SplitButtonItem { Text = "Books" }; // Create List of the buttons List <SplitButtonItem> buttonList = new List <SplitButtonItem> { btnMovie, btnTv, btnBook }; // Tell Search SplitButton to use it SplitButtonSearch.ItemsSource = buttonList; }
public SplitButtonItemAutomationPeer(SplitButtonItem item) : base(item) { }