In Development
Last Updated: 14 Mar 2024 11:19 by ADMIN
To reproduce: 
1. Use the following code snippet:
public class ViewModel:INotifyPropertyChanged
{
    public ViewModel()
    {
    }

    private bool _isShown;

    public bool IsShown
    {
        get
        {
            return this._isShown;
        }
        set
        {
            this._isShown = value;
            OnPropertyChanged("IsShown");
        }
    }

    public event PropertyChangedEventHandler PropertyChanged;

    protected void OnPropertyChanged(string propertyName)
    {
        PropertyChangedEventHandler handler = PropertyChanged;
        if (handler != null)
            handler(this, new PropertyChangedEventArgs(propertyName));
    }
}

2. Add a MS Panel and a RadPanel to the form.
3. Add Panel.DataBindings at design time for its Visible property to the ViewModel.IsShown property.
4. When you run the application, the MS Panel is not visible. However, if you remove the RadPanel it is shown. Please refer to the attached sample video illustrtaing better the performed steps.

Completed
Last Updated: 31 Jul 2023 14:21 by ADMIN
ADMIN
Created by: Dess | Tech Support Engineer, Principal
Comments: 2
Category: UI Framework
Type: Bug Report
0
After revamping the documentation for the Telerik UI for WinForms product, the following problems occurred:

1. Search for a specific class or method in the search box in the following site: https://docs.telerik.com/devtools/winforms/introduction. Select one of the results referring to the API documentation. As a result you will be navigated to the main page of the API reference instead of to the respective class or method. Refer to the Problem1.gif file. It seems that the search results from the API reference return old links for the previous API link pattern.

2. The search box in https://docs.telerik.com/devtools/winforms/api/ is significantly lagging while typing. We should consider performing the search operation after pressing Enter and not with each keystroke. Please refer to the Problem2.gif file.

3.  When you scroll the navigation view on the left side to a certain position and select an article, the vertical scrollbar sometimes gets reset to the top position and you have to scroll back.  (Note that this problem is not reproduced each time).
Unplanned
Last Updated: 04 Nov 2022 09:19 by ADMIN
On higher DPI, controls are not scaled correctly when placed inside TableLayoutPanel with Rows/Columns SizeType set to Absolute
Completed
Last Updated: 23 Nov 2021 09:48 by ADMIN
Release R3 2021 SP2
Small elements with large scale transformation are not rendered
Completed
Last Updated: 21 Oct 2021 10:47 by ADMIN
Release R3 2021 SP1
Created by: Doug
Comments: 0
Category: UI Framework
Type: Bug Report
0

  StackTrace:
   at System.Collections.Generic.Dictionary`2.get_Item(TKey key)
   at Telerik.WinControls.VisualElement.GetScaledFont(Single scale)
   at Telerik.WinControls.UI.LightVisualElement.CreateTextParams()
   at Telerik.WinControls.UI.GridCellElement.CreateTextParams()
   at Telerik.WinControls.UI.TextPart.Measure(SizeF availableSize)

KeyNotFoundException when trying to access a dictionary in GetScaledFont, because of race condition, when setting a Font in another thread.

Completed
Last Updated: 11 Oct 2021 07:21 by ADMIN
Release Q2 2012 SP1
1. Create a new project and add RadForm.
2. Open the form at design time.
3. Set its ThemeName to ControlDefault.
4. Choose the Reset option from the ThemeName drop down.
5. Repeat this operation several times and watch how form size changes.
Completed
Last Updated: 09 Oct 2020 15:16 by ADMIN
Release R2 2018
To reproduce:

Add some buttons to a form set the theme to Fluent and press the button using the space button

Workaround:
Use the attached theme.
Unplanned
Last Updated: 12 Nov 2019 14:59 by ADMIN
To reproduce: please run the application provided in the ticket. You will notice that RadGridView stops updating.

Workaround: use MethodInvoker for the update operation:

        private void readTicks()
        {
            DateTime now = DateTime.Now;
            Tick previouse = null;
            for (int i = 0; i < lines.Length; i++)
            {
                if (canceled)
                    return;

                var t = new Tick();

                try
                {
                    try
                    {
                        JsonConvert.PopulateObject(lines[i], t);
                    }
                    catch
                    {
                        continue;
                    }


                    var c = contracts[t.ContractId];
                    c.Row[(int)t.TickType] = t;
                    c.CurrentTickSetNr++;

                    if (this.radGridView1.InvokeRequired)
                    {
                        this.radGridView1.Invoke(new MethodInvoker(delegate { c.Fire(t); }));
                    }
                    else
                    {
                        c.Fire(t);
                    }

                    previouse = t;
                    OnTick?.Invoke(c.ConId, i);
                }
                catch (Exception e)
                {
                    Debug.WriteLine(e.Message);
                }
            }

            OnDone?.Invoke(this, new EventArgs());
        }
Completed
Last Updated: 30 May 2019 12:44 by ADMIN
To reproduce:
-use RadForm with WindowState=Maximized at design-time;
-add RadPanel with Dock = Top;
-after running the application minimize the form and maximize it again; as a result the form title bar is cut off.

Workaround: set Margin of the FormElement and Top docked panel when maximizing:

private void Form1_SizeChanged(object sender, EventArgs e)
{
    RadForm form = sender as RadForm;
    if (form != null)
    {
        if (form.WindowState == FormWindowState.Maximized)
        {
            form.FormElement.Margin = new Padding(0, 8, 0, 0);
            (form.Controls[0] as RadPanel).PanelElement.Margin = new Padding(0, 20, 0, 0);
        }
    }
}
Completed
Last Updated: 15 Mar 2019 17:40 by ADMIN
ADMIN
Created by: Peter
Comments: 0
Category: UI Framework
Type: Bug Report
2
RadOffice2007ScreenTipElement does not have all themes (except the ControlDefault Theme)
Completed
Last Updated: 18 Jan 2019 15:16 by ADMIN
ADMIN
Created by: Dimitar
Comments: 1
Category: UI Framework
Type: Bug Report
0
workaround:

public class MyGridView : RadGridView
{     
    public override string ThemeClassName
    {
        get
        {
            return typeof(RadGridView).FullName;
        }
    }
 
    protected override void ProcessCodedUIMessage(ref IPCMessage request)
    {
        if (request != null) //here is the problematic point
            base.ProcessCodedUIMessage(ref request);
    }
}
Unplanned
Last Updated: 31 Dec 2018 09:43 by ADMIN
Use attached to reproduce inside VisualStudio 2017.

1. Run "1342574 ListControl" project
2. Add CodedUI test in "1342574 CodeUISample" project. ("Record actions, edit UI map or add assertions" option)
3. After starting recording, click inside radGridView cell, type something and click Tab.
4. Pause and Generate Code.

After running the recorded CodedUI test and you will see that it clicks on the grid cell but does not type any text.

Note that the issue is not reproducible in VS 2012.
 
Completed
Last Updated: 28 Sep 2018 10:40 by Dimitar
Workaround: set the property with code
this.radListView1.ListViewElement.ViewElement.VScrollBar.MinThumbLength = 50;
Completed
Last Updated: 28 Sep 2018 10:18 by Dimitar
How to reproduce: this.radLabel1.Font = new System.Drawing.Font("Arial", 20F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Pixel);

Workaround: 
public class MyRadLabel : RadLabel
{
    public override string ThemeClassName
    {
        get
        {
            return typeof(RadLabel).FullName;
        }
    }

    protected override RadLabelElement CreateLabelElement()
    {
        return new MyRadLabelElement();
    }
}

public class MyRadLabelElement : RadLabelElement
{
    protected override Type ThemeEffectiveType
    {
        get
        {
            return typeof(RadLabelElement);
        }
    }

    protected override void CreateChildElements()
    {
        base.CreateChildElements();

        MyTextPrimitive textPrimitive = new MyTextPrimitive();
        textPrimitive.Alignment = ContentAlignment.MiddleLeft;
        textPrimitive.BindProperty(TextPrimitive.TextProperty, this, RadLabelElement.TextProperty, PropertyBindingOptions.TwoWay);
        textPrimitive.BindProperty(AlignmentProperty, this, RadLabelElement.TextAlignmentProperty, PropertyBindingOptions.OneWay);
        textPrimitive.SetValue(ImageAndTextLayoutPanel.IsTextPrimitiveProperty, true);
        textPrimitive.AutoEllipsis = true;
        textPrimitive.TextWrap = true;

        ImageAndTextLayoutPanel layoutPanel = this.FindDescendant<ImageAndTextLayoutPanel>();
        if (layoutPanel != null)
        {
            layoutPanel.Children.RemoveAt(1);
            layoutPanel.Children.Add(textPrimitive);
        }
    }
}

public class MyTextPrimitive : TextPrimitive
{
    public override Font GetScaledFont(float scale)
    {
        Screen screen = Screen.PrimaryScreen;
        SizeF startScale = new SizeF(1.0f, 1.0f);
        if (RadControl.EnableDpiScaling)
        {
            startScale = NativeMethods.GetMonitorDpi(screen, NativeMethods.DpiType.Effective);
        }

        SizeF paintScale = new SizeF(scale / startScale.Width, scale / startScale.Height);
        Font font = this.Font ?? Control.DefaultFont;
        string key = paintScale.ToString() + font.FontFamily.Name + font.Size + font.Style.ToString() + font.Unit.ToString() + font.GdiCharSet.ToString() + font.GdiVerticalFont.ToString();

        if (this.ScaledFontsCache.ContainsKey(key))
        {
            return this.ScaledFontsCache[key];
        }

        Font scaledFont = new Font(font.FontFamily, font.Size * paintScale.Height, font.Style, font.Unit, font.GdiCharSet, font.GdiVerticalFont);
        this.ScaledFontsCache.Add(key, scaledFont);

        return scaledFont;
    }
}
Completed
Last Updated: 17 Aug 2018 08:48 by Dimitar
How to reproduce: store an image on the file and try to use it this way
string path = @"D:\img.png";
this.radLabel1.Text = "<html><img src=" + path + "><b>Test</b></html>";

Workaround: if possible embed the image in the assembly and use it as a resource
this.radLabel1.Text = "<html><img src=res:_1133506_RadLabelLinkHtmlLike.img.png><b>Test</b></html>";
Declined
Last Updated: 14 Aug 2018 10:44 by ADMIN
Poor support for custom DPI scaling in Windows 7 - Windows 10.
There no null checking, and there is dirty hacks:

CASE 1: RadPageViewElement
 public override void DpiScaleChanged(SizeF scaleFactor)
        {
            base.DpiScaleChanged(scaleFactor);

            if (this.Owner != null && this.Owner.Pages.Count > 1)
            {
                this.Owner.SuspendEvents();

                if (this.Owner.SelectedPage == this.Owner.Pages[0])
                {
                    this.Owner.SelectedPage = this.Owner.Pages[1]; // NO NULL CHECKING
                    this.Owner.SelectedPage = this.Owner.Pages[0]; // DIRTY HACK: users can have their own processing OnSelectedPage, which is unexpected here!
                }
                else
                {
                    RadPageViewPage page = this.Owner.SelectedPage;
                    this.Owner.SelectedPage = this.Owner.Pages[0];
                    this.Owner.SelectedPage = page;
                }

CASE 2:
 public partial class RadForm1 : Telerik.WinControls.UI.RadForm
    {
        public RadForm1()
        {
            InitializeComponent();
            radWizard1.Pages.Add(new WizardPage()); // when user has 100% Dpi, this code works normally. But if user has custom scale DPI (e.g. 101%), user received System.NullReferenceException: 'Object reference not set to an instance of an object.' (because because again there is no verification for ContentArea = null)...
        }
    }

Please improve the work with custom DPI scaling!
Completed
Last Updated: 21 Jun 2018 15:04 by ADMIN
Use attached project to reproduce. 

Workaround:
Use attached theme.
Completed
Last Updated: 30 Apr 2018 20:46 by Robert
Workaround: use a bigger image 
Me.radCheckBox1.ButtonElement.CheckMarkPrimitive.CheckElement.ShouldPaint = False
    Dim dpi As Point = NativeMethods.GetSystemDpi()
    Dim scale As Integer = dpi.X
    If scale >= 300 Then
        Me.radCheckBox1.ButtonElement.CheckMarkPrimitive.Image = Image.FromFile("..\..\check-mark.png")
    ElseIf scale >= 200 Then
        '...
    Else
        '...
    End If
Unplanned
Last Updated: 21 Feb 2018 13:19 by ADMIN
How to reproduce: check the attached project and compare the font size of the two labels. Also when the form is moved from a screen with HDPI to a standard screen with DPI=96 the font does change.
Completed
Last Updated: 14 Feb 2018 12:28 by Dimitar
ADMIN
Created by: Dimitar
Comments: 0
Category: UI Framework
Type: Bug Report
1
To reproduce:
- Open Theme Viewer, go ListView and sort it.
- Change the theme to Fluent. 

 Workaround:
- Set the visibility of the item in the theme (see attached). 
 
 
1 2 3 4 5 6