How to reproduce:
public Form1()
{
InitializeComponent();
this.radPageView1.ItemSizeMode = Telerik.WinControls.UI.PageViewItemSizeMode.EqualSize;
this.radPageView1.ItemSize = new Size(50, 20);
}
The layout on a monitor with 100%:
After moving the form to a monitor with higher than 100% DPI scaling, e.g. 175% or greater:
Once you switch to the first page which contains exactly the same UserControl, the layout is not correct:
(this.radPageView1.ViewElement as RadPageViewStripElement).AllowEdit = true;
(this.radPageView1.ViewElement as RadPageViewStripElement).NewItemVisibility = StripViewNewItemVisibility.End;
To reproduce: - Add a RadPageView with several pages to a form. - View the tabs by setting the SelectedTab property. - Create a form instance and show it with the ShowDialog method. - Select the second tab. - Reopen the form and select a tab after the second. You will notice that the content is not changed. Workaround: Create a new instance each time when the form is shown.
To reproduce: 1. Drag and drop RadPageView on the form 2. Select the control and open a smart tag 3. You will see that the 'Dock in parent container' option is not added
Hello, PageView with Windows8 Theme, ViewMode Stack, Stack Position Left Tabs are drawn incorrectly, see attachment. can i work around this issue? Thanks
Workaround: instead of removing and adding the page, modify its Visibility property
To reproduce: - Add RadpageView to a form and build the application. - Merge the assemblies with .NET Reactor - Run the new exe file.
To reproduce: - Add PageView to a form and set its Dock property to fill. - Add single page and set its AutoScroll property to true. - Add some controls and make sure that a scrollbar will appear. - Start the application and scroll to the bottom. - Maximize the form. You will notice that the scrollbar position is wrong. Workaround: protected override void WndProc(ref Message m) { if (m.Msg == 0x0112) { if (m.WParam == new IntPtr(0xF030)) { this.radPageView1.SelectedPage.AutoScrollPosition = this.radPageView1.AutoScrollPosition; } } base.WndProc(ref m); }
Workaround: RadPageViewExplorerBarElement exElement = radPageView2.ViewElement as RadPageViewExplorerBarElement; exElement.ItemSize = new Size(200, 100);
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); } }
To reproduce: 1.Add a RadPageView with several pages. 2.Set the ViewElement.AllowEdit property to true. 3.Use the following code: public Form1() { InitializeComponent(); radPageView1.ViewElement.AllowEdit = true; radPageView1.ViewElement.EditorInitialized += ViewElement_EditorInitialized; } private void ViewElement_EditorInitialized(object sender, RadPageViewEditorEventArgs e) { radPageView1.ViewElement.ActiveEditor.Validating -= ActiveEditor_Validating; radPageView1.ViewElement.ActiveEditor.Validating += ActiveEditor_Validating; radPageView1.ViewElement.ActiveEditor.Validated -= ActiveEditor_Validated; radPageView1.ViewElement.ActiveEditor.Validated += ActiveEditor_Validated; radPageView1.ViewElement.ActiveEditor.ValidationError -= ActiveEditor_ValidationError; radPageView1.ViewElement.ActiveEditor.ValidationError += ActiveEditor_ValidationError; } private void ActiveEditor_Validating(object sender, CancelEventArgs e) { RadPageViewElement.PageViewItemTextEditor editor = sender as RadPageViewElement.PageViewItemTextEditor; if (editor != null && radPageView1.ViewElement.ActiveEditor.Value == string.Empty) { e.Cancel = true; } } private void ActiveEditor_ValidationError(object sender, ValidationErrorEventArgs e) { RadMessageBox.Show("Page label can't be empty!", "Error", MessageBoxButtons.OK, RadMessageIcon.Error); } private void ActiveEditor_Validated(object sender, EventArgs e) { RadMessageBox.Show("Page label has been successfully updated!", "Information", MessageBoxButtons.OK, RadMessageIcon.Info); } If you change a tab title and do not press Enter, but click outside the pageview, the respective events for validation are not fired. Workaround: private void ViewElement_EditorInitialized(object sender, RadPageViewEditorEventArgs e) { RadPageViewElement.PageViewItemTextEditor textEditor = e.ActiveEditor as RadPageViewElement.PageViewItemTextEditor; RadPageViewElement.PageViewItemTextEditorElement element = textEditor.EditorElement as RadPageViewElement.PageViewItemTextEditorElement; element.PropertyChanged += element_PropertyChanged; } private void element_PropertyChanged(object sender, PropertyChangedEventArgs e) { RadPageViewElement.PageViewItemTextEditorElement element = sender as RadPageViewElement.PageViewItemTextEditorElement; if (e.PropertyName == "ContainsFocus"&& !element.ContainsFocus) { radPageView1.ViewElement.ActiveEditor.Validate(); } }
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; }
To reproduce: - Add RadPageView with a two pages to a blank form, each page should contain a RadGridView. - Populate the gids with some data. - Start a gotomeeting and show your screen. - Launch the application or start debugging. - Add a column to the first tab page (not sure if the location or placement matters) - Click the tab header for the second tab page to try to navigate to it - Nothing will happen. Workaround: - Change focus to another application. - The test app will now update.
To reproduce: - Implement the example from this page http://www.telerik.com/help/winforms/pageview-how-to-editing-page-tabs.html. - Set the page text to empty string and click on another page. Workaround: subscribe to the editor's element RadPropertyChanging event: void element_RadPropertyChanging(object sender, RadPropertyChangingEventArgs args) { if (args.Property == RadElement.ContainsFocusProperty) { if (!(bool)args.NewValue) { args.Cancel = true; } } }
In order to reprocude: - Add RadPageView - Add RadPageVIewPage (or two) - Add couple controls to the bottom right corner or the page (aligned with the and of the page) - Set those controls Anchoring property to Bottom, Right Start and the controls are in a different position then the they were located.