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; } } }
RadPageView does not show the individual tabs close buttons when they are enabled in the form constructor.
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.