ADD. RadPageView - allow RadPageViewItems to accept other RadElements. Currently, they are not arranged.
To reproduce: - Add RadpageView to a form and build the application. - Merge the assemblies with .NET Reactor - Run the new exe file.
To reproduce: 1. Add a RadPageView with no pages and set its Dock property to Fill. 2. Set the ViewMode property to ExplorerBar at design time. 3. Use the following code snippet: private void AddOutputPage(int index) { string title = "Test-Page " + index; RadPageViewPage page = new RadPageViewPage(title); this.radPageView1.Pages.Add(page); } private void Form1_Load(object sender, EventArgs e) { for (int i = 0; i < 20; ++i) AddOutputPage(i); } As a result the current page header at the top of the RadPageView is not displayed until you resize the pageview.
Steps to reproduce: 1. Add a RadPageView to a form and add a page 2. Add some controls to the page. 3. Open the RadPageView smart tag and click Remove Page 4. Select from Visual Studio Edit->Undo and you will see that the page will be restored but the controls on it will not be restored properly. If one removes the page using the keyboard Delete key the undo functionality of VS works correctly.
Workaround: public Form1() { InitializeComponent(); this.radPageView1.RightToLeft = System.Windows.Forms.RightToLeft.Yes; } public class CustomPageView : RadPageView { public override string ThemeClassName { get { return typeof(RadPageView).FullName; } } protected override RadPageViewElement CreateUI() { switch (this.ViewMode) { case PageViewMode.Strip: return new CustomRadPageViewStripElement(); default: return base.CreateUI(); } } } public class CustomRadPageViewStripElement : RadPageViewStripElement { public CustomRadPageViewStripElement() { } protected override Type ThemeEffectiveType { get { return typeof(RadPageViewStripElement); } } protected override bool IsNextKey(Keys key) { if (this.RightToLeft) { if (key == Keys.Left) { return true; } else { return false; } } return base.IsNextKey(key); } protected override bool IsPreviousKey(Keys key) { if (this.RightToLeft) { if (key == Keys.Right) { return true; } else { return false; } } return base.IsPreviousKey(key); } }
The common for the other RadPageView modes approach for creating custom items does not work for ExplorerBar mode.
IMPROVE. RadPageView - in ExplorerBar mode, add a method which will scroll the item into view and the item will be on the top on the control. Currently, the ScrollToItem method, scrolls to the item and whenever it finds it the scrolling is stopped. Alternatively, add a method which will ensure that the item and its content are is visible. Resolution: Add the ScrollToControl method. Please take a look at the following code snippet how to use it: RadPageViewExplorerBarElement view = radPageView1.ViewElement as RadPageViewExplorerBarElement; view.ScrollToControl(control);
When you dynamically remove a page from RadPageView when it is in ExplorerBarView, its header remains on your form.
To reproduce: Create a RadPageView and add these items: RadPageView pageView = new RadPageView { Parent = this, Dock = DockStyle.Fill, ViewMode = PageViewMode.Outlook }; pageView.Pages.Add(new RadPageViewPage("Machines")); pageView.Pages.Add(new RadPageViewPage("Users")); pageView.Pages.Add(new RadPageViewPage("Software")); pageView.Pages.Add(new RadPageViewPage("Queries")); pageView.Pages.Add(new RadPageViewPage("Reports")); pageView.Pages.Add(new RadPageViewPage("License Manager Servers")); You will see that the Users and Reports items will be auto ellipsed. Workaround: Change the font of the item. Changing the style should be enough: foreach (RadPageViewItem item in (pageView.ViewElement as RadPageViewOutlookElement).Items) { item.AutoEllipsis = false; }
Steps to reproduce: 1. Drag a page view to a form and add two pages to it. 2. Add a button on the first page. 3. Drag a button to the form and in its Click event handler add code to change the selected page of the page view to the second one. 4. Add an event handler for the Enter event of the button on the first page. Run the project and when you click the button to change the page you will see that the button on the first page gets the focus.
1. Add RadPageView to a form 2. In the code behind, after InitializeComponent set the ViewMode to ExplorerBar 3. Subscribe to the ItemCreating event of the control 4. Create three RadPageViewPages and add them to the control 5. Run the application
- create RadPageView in ExplorerBar mode with just one page - subscribe to the PageExpanded/PageCollapsed events and print the value of the IsContentVisible property in each event handler. The result is that when the event is fired the property is not set.
RadPageView - In BackstageView the tool tip of item close button is showing if you set ShowItemCloseButton property to true. Work Around: set ShowItemCloseButton property to false.
FIX. RadPageView when color blending is added, the control flickers.
To reproduce: 1. Add RadPageView with several pages 2. Set the Text property of page to "Payers & Frequencies" this.radPageViewPage2.Text = "Payers & Frequencies"; RadPageViewStripElement strip = (RadPageViewStripElement)this.radPageView1.ViewElement; strip.StripButtons = StripViewButtons.All; 3. Run the project and open the ItemListMenu(available pages) and you will see that name of page is "Payers _Frequencies" Workaround: 1. Subscribe to ItemListMenuDisplaying event and set UseMnemonic property to false: void radPageView1_ItemListMenuDisplaying(object sender, RadPageViewMenuDisplayingEventArgs e) { foreach (RadMenuItem listMenuItem in e.Items) { TextPrimitive textPrimitive = listMenuItem.Layout.TextPanel.Children[0] as TextPrimitive; textPrimitive.UseMnemonic = false; } }
It would be nice if RadTabStrip/RadDock can support multiple rows of tabs.
One is not able to change the size of the buttons in the buttons panel of RadPageViewPage item. As a result you can get only square buttons.
When you try to programmatically select a page in the Form_Load of the Form that holds RadPageView, the page becomes selected, but the content that is shown for the page is not correct.
Let's say that you have a RadForm with a RadPageView in it. This pageview has several pages in it. In one of the pages there are a RadGroupBox with a RadLabel in it and a RadLabel directly placed on the page. At design-time the groupbox and the labels have the backcolor of the page. At runtime, these controls get the color of the RadForm. However, the behavior should be one and the same.
A nice addition to the Pages collection of RadPageView will be the ability to get a page by its name.