I would like to see a new property added to the RadLabel control: Style. Style is an enumeration with layout styles like in MS-Word:
When the style is applied, the styling (font, color, background, etc.) is applied conform the currently active Theme. Therefor all themes need to be expended to support this setting.
Of course the enum label 'Custom' should be present (or null) when a user tries to override the style-related properties (like font, color, background, etc.)
This is very usefull when a programmer wants to build his own form (with or without Layout / Flow controls).
Telerik already uses it a bit themselves: Some (data entry) controls already generate (group) headers and captions in there forms.
In this case, we have an MS standard Form with control position on the form. Each of the controls has the right anchor. Moving the form to a monitor with a higher resolution messed up the size of the controls.
Me.radToggleSwith1.OffText = "OFF"
Me.radToggleSwith1.OnText = "ON"
I have a custom Fluent theme as a package, it would be nice if there was a way to load packages (Embedded Resource or files) with the RadThemeManager.
Rather than typing this: Telerik.WinControls.ThemeResolutionService.LoadPackageResource("GUI.Themes.Fluent_Custom.tssp");
Right now the RadThemeManager only supports XML files. Feeding it a tssp file doesn't work.
For it to show up in design-time I have to assign it all of the unpackaged XML files and then delete the RadThemeManager for the theme to show up, otherwise the load time is like 7 seconds, where as embedded packages load super fast.
The fluent theme has a lot of XML files and this is a huge pain, supporting 1 Embedded Resource tssp package would be nice.
Would also be nice if the RadThemeManager could apply/change a theme globally somewhere in the SmartTag menu or RadThemeManager properties.
Instead of having to type this: ThemeResolutionService.ApplicationThemeName = "Fluent_Custom";
Any anchor setting works, except for right + left, then the controls start to behave weird.
this.radMultiColumnComboBox4.Anchor = AnchorStyles.Left | AnchorStyles.Right;
this.radTextBoxControl2.Anchor = AnchorStyles.Left | AnchorStyles.Right;
this.radSpinEditor4.Anchor = AnchorStyles.Left | AnchorStyles.Right;
this.radDropDownList4.Anchor = AnchorStyles.Left | AnchorStyles.Right;
this.radMultiColumnComboBox3.Anchor = AnchorStyles.Left | AnchorStyles.Right;
this.radDropDownList3.Anchor = AnchorStyles.Left | AnchorStyles.Right;
this.radSpinEditor3.Anchor = AnchorStyles.Left | AnchorStyles.Right;
this.radTextBoxControl1.Anchor = AnchorStyles.Left | AnchorStyles.Right;
Hi All.
Could you please add or let me know locators for "RadChat" window for Automation purpose. I am unable to find locators on the below area.
In.NET8 Microsoft has released databinding improvements: What's new in Windows Forms .NET 8 - Windows Forms .NET | Microsoft Learn. Add Command Binding and DataContext Support in .NET 8+
When a RadValidationRule has the "PropertyName" assigned to a non-existent property, the RadVAlidationProvider.ValidateCore throws a NullReference exception because the property cannot be found via reflection and throws no error handling.
From OpenEdge ABL class, this is the code written into the forms InitializeComponent method. The "IsValid" property doesn't actually exist.
radValidationRule3:AddControl(THIS-OBJECT:myTextBox). radValidationRule3:Operator = Telerik.WinControls.Data.FilterOperator:IsNotEqualTo. radValidationRule3:PropertyName = "IsValid". radValidationRule3:ToolTipText = "Test". radValidationRule3:Value = TRUE.
While we don't expect the functionality to actually work because the property isn't actually available to .NET, but the NullReferenceException is poorly handled.
I've attached a screenshot of the bit of code from RadValidationProvider.ValidateCore where this occurs. This is from version 2020.3.1020.20
Here is the thrown stack exception details from visual studio.
System.NullReferenceException
HResult=0x80004003
Message=Object reference not set to an instance of an object.
Source=Telerik.WinControls.UI
StackTrace:
at Telerik.WinControls.UI.RadValidationProvider.ValidateCore(Object sender, EventArgs e)
This
Documentation about High-DPI mechanisms available on the website is very outdated and mostly does not consider the changes and improvements that Microsoft made with .net 7.0 and 8.0.
What's needed is thorough documentation about Telerik's behavior in comparison with the different situations on .net Framework 4.9 and the major .net Versions 6.0, 7.0, and 8.0.
Kind regards
Erwin
Repro-steps:
Expected behavior:
Observed behavior:
I traced the problem back to the method GridViewSleectedCellsCollection.IsSelected / GetHashCodeString.
internal bool IsSelected(GridViewRowInfo row, GridViewColumn column) => row != null && column is GridViewDataColumn && this.hashtable.Contains((object) this.GetHashCodeString(row, column));
When a cell is selected with GridViewCellInfo.IsSelected = true, it checks if it has already been selected. It does so by calling GridViewSleectedCellsCollection.IsSelected. which checks if a HasCodeString is already in a hashtable. But, when another selected cell has the same HasCodeString, the result is (incorrectly) true, which will result in not added it to the collection of selected cells.
I guess that is can be easily fixed by changing:
private string GetHashCodeString(GridViewRowInfo row, GridViewColumn column)
{
int hashCode = row.GetHashCode();
string str1 = hashCode.ToString();
hashCode = column.GetHashCode();
string str2 = hashCode.ToString();
return str1 + str2;
}
to:
private string GetHashCodeString(GridViewRowInfo row, GridViewColumn column)
{
int hashCode = row.GetHashCode();
string str1 = hashCode.ToString();
hashCode = column.GetHashCode();
string str2 = hashCode.ToString();
return str1 + "_" + str2;
}
Since hashcodes 1 + 23 will result in the same string as hashcodes 12 + 3.
Making this change will reduce the problem significantly, but not entirely since hashCodes will never be unique.