RadPageView has ten pages. Each page contains TableLayoutPanel (2 columns and 10 rows) and in each cell there is RadControl (textBox, checkbox etc). The result is that when pages are being changed, RadPageView show slow performance. Same scenario with standard controls works well. Further investigations on the case show this: "I had the same issue and I found other workaround. In my case I had TableLayoutPanel with RadSplittButton in each cell and each RadSplitButon was set as Dock = Fill. If I set AutoSize = false for RadSplitButton then the performance was ok and everything looks ok too."
Steps to reproduce: 1. Add a form with RadPageView on it 2. Add RadPageViewPage 3. In the designer file there will be the following line: // TODO: Code generation for '' failed because of Exception 'Invalid Primitive Type: System.IntPtr. Consider using CodeObjectCreateExpression.'.
The Image property of any RadPageViewPage cannot be set from the Visual Style Builder. The only way to set the image is through code.
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.
1. Place a RadPageView in ExplorerBar view mode on a from. 2. Add page and place any RadControl in the page content panel. 3. Close (Collapse) the page. 4. Save and close the form. 5. Open the form and open(expand) the page and you will see that the control will be stretched more than when you saved the form.
It appears that when the contents of the RadPageViewPage is changed its height stays the same. fig1 shows the height before content is modified fig2 shows the height after content is modified(pressing ‘Next’ button), fig3 shows the height after one of the RadPageViewPage tabs is clicked, clicking 'Next' after that keeps the same height. It appears that if a tab is clicked the RadPageView resizes itself. So how can I make the RadPageView resize itself to its content programmatically. Workaround: increase and decrease the Width of RadPageView to force the layout. rpv.Width += 1; rpv.Width -= 1;
To reproduce: - Add RadPageView change the view to ExplorerBar and add some pages with controls. - Start the application expand all pages and scroll. Workaround: class MyPageView : RadPageView { protected override RadPageViewElement CreateUI() { if (this.ViewMode == PageViewMode.ExplorerBar) { return new MyExplorerBarElement(); } return base.CreateUI(); } } class MyExplorerBarElement : RadPageViewExplorerBarElement { protected override bool IsChildElementExternal(Telerik.WinControls.RadElement element) { return !(element is RadPageViewElementBase) && base.IsChildElementExternal(element); } protected override Type ThemeEffectiveType { get { return typeof(RadPageViewExplorerBarElement); } } }
To reproduce: please refer to the attached sample project and gif file. The purpose is to select the last added page. However, the multi-line tabs are not ordered correctly at all compared to the TabControl.
When you dynamically remove a page from RadPageView when it is in ExplorerBarView, its header remains on your form.
- 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.
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.
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.
Under specific circumstances and in Windows 2008 Server environment the RadTabStrip internally used in RadDock does not get a proper size. Workaround: bool performLayout = false; protected override void OnSizeChanged(EventArgs e) { base.OnSizeChanged(e); if (this.WindowState == FormWindowState.Minimized) { this.performLayout = true; } else if (this.performLayout) { //reset padding to force bounds update this.Padding = new Padding(1); this.Padding = Padding.Empty; this.performLayout = false; } } Basically, you need to override the OnSizeChanged method of the main form and first set and then reset its Padding when the it goes from Minimized to another state. This will trigger that internal layout mechanisms of our controls and you will get the RadGridView shown as expected.
RadPageView localization can be set only before the Application.Run line, otherwise it does not take effect
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.
If you run your project in debug mode and try to select a page in the desginer, the designer of RadPageView gets broken.
HandleCreated should fire for all pages in RadPageView
When RadPageView is in Backstage mode, one can only navigate between the tabs in the same group using the arrow keys.
The common for the other RadPageView modes approach for creating custom items does not work for ExplorerBar mode.
The issue appears when the SelectedPageChanging event is cancelled and a MessageBox is shown in the event handler.