Quantcast
Channel: Telerik Forums RSS
Viewing all articles
Browse latest Browse all 94857

Item Height Issue

$
0
0

Hi guys,

 this issue seems to be reproduced again, when changed to IconListViewVisualItem and  ListViewType.IconsView 

I able to see unexpected spacing between items, which is randomly appear, when minimizing the container (form) to its minimal width. 

attached are some screenshots of my problem and here is the reviewed code of the main form:

publicpartialclassForm1 : Form
    {
        privateBindingList<TraceMessage> _messages;
 
        publicForm1()
        {
            InitializeComponent();
            this.radListView1.Dock = DockStyle.Fill;
            radListView1.ViewType = ListViewType.IconsView;//TODO: was ListViewType.ListView
            this.radListView1.AllowArbitraryItemHeight = true;
 
            _messages = newBindingList<TraceMessage>();
 
            for(inti = 0; i < 10; i++)
            {
                _messages.Add(newTraceMessage()
                {
                    MessageText = Guid.NewGuid().ToString() + " "+ Guid.NewGuid().ToString(),
                    Type = MessageTypes.Information,
                    TimeStamp = DateTime.Now.AddMinutes(i).ToShortTimeString()
                });
            }
 
            radListView1.DataSource = _messages;
            radListView1.DisplayMember = "MessageText";
            radListView1.SizeChanged += newEventHandler(radListView1_SizeChanged);
            radListView1.HorizontalScrollState = ScrollState.AlwaysHide;
            radListView1.VisualItemCreating += newListViewVisualItemCreatingEventHandler(radListView1_VisualItemCreating);
        }
 
        voidradListView1_VisualItemCreating(objectsender, ListViewVisualItemCreatingEventArgs e)
        {
            e.VisualItem = newTracerListElement();
        }
 
        protectedoverridevoidOnShown(EventArgs e)
        {
            base.OnShown(e);
            radListView1.ItemSize = newSize(this.radListView1.Width - this.radListView1.ListViewElement.ViewElement.VScrollBar.Size.Width, 0);
        }
 
        voidradListView1_SizeChanged(objectsender, EventArgs e)
        {
            radListView1.ItemSize = newSize(this.radListView1.Width - this.radListView1.ListViewElement.ViewElement.VScrollBar.Size.Width, 0);
        }
 
        privatevoidradListView1_VisualItemFormatting(objectsender, Telerik.WinControls.UI.ListViewVisualItemEventArgs e)
        {
            e.VisualItem.TextWrap = true;
        }
    }
 
    publicenumMessageTypes { Warning, Error, Information }
 
    publicclassTraceMessage
    {
        publicMessageTypes Type { get; set; }
        publicstringMessageText { get; set; }
        publicstringTimeStamp { get; set; }
    }
 
    classTracerListElement : IconListViewVisualItem//TODO: was SimpleListViewVisualItem
    {
        privateColor _warningColor = Color.Blue;
        privateColor _errorColor = Color.Red;
        privateColor _regularColor = Color.Black;
        privateColor _timeStampColor = Color.Black;
        privatereadonlyFont _warningFont = newFont("Tahoma", 9, FontStyle.Bold, GraphicsUnit.Point);
        privatereadonlyFont _errorFont = newFont("Tahoma", 9, FontStyle.Bold, GraphicsUnit.Point);
        privatereadonlyFont _regularFont = newFont("Tahoma", 9, FontStyle.Bold, GraphicsUnit.Point);
        privateLightVisualElement _timeStamp;
        privateLightVisualElement _messageText;
        privateWrapLayoutPanel _stackLayout;
 
        publicTracerListElement()
        {
            BorderBoxStyle = BorderBoxStyle.FourBorders;
            BorderBottomWidth = 1;
            BorderLeftWidth = BorderRightWidth = BorderTopWidth = 0;
            BorderColor = Color.Blue;
            BorderGradientStyle = GradientStyles.Solid;
            DrawBorder = true;
            GradientStyle = GradientStyles.Solid;
        }
 
        protectedoverridevoidCreateChildElements()
        {
            base.CreateChildElements();
 
            _stackLayout = newWrapLayoutPanel { Orientation = Orientation.Horizontal };
 
            _timeStamp = newLightVisualElement();
            _timeStamp.TextAlignment = ContentAlignment.TopLeft;
 
            _messageText = newLightVisualElement();
            _messageText.TextWrap = true;
            _messageText.TextAlignment = ContentAlignment.TopLeft;
 
            _stackLayout.Children.Add(_timeStamp);
            _stackLayout.Children.Add(_messageText);
 
            Children.Add(_stackLayout);
        }
 
        protectedoverridevoidSynchronizeProperties()
        {
            var msg = (TraceMessage)Data.DataBoundItem;
 
            _timeStamp.Text = msg.TimeStamp;
            _timeStamp.ForeColor = _timeStampColor;
 
            _stackLayout.AutoSize = true;
            _stackLayout.AutoSizeMode = RadAutoSizeMode.Auto;
            _messageText.AutoSize = true;
            _messageText.AutoSizeMode = RadAutoSizeMode.Auto;
 
            switch(msg.Type)
            {
                caseMessageTypes.Information:
                    _messageText.ForeColor = _regularColor;
                    _messageText.Font = _regularFont;
                    break;
                caseMessageTypes.Warning:
                    _messageText.ForeColor = _warningColor;
                    _messageText.Font = _warningFont;
                    break;
                caseMessageTypes.Error:
                    _messageText.ForeColor = _errorColor;
                    _messageText.Font = _errorFont;
                    break;
            }
            _messageText.Text = msg.MessageText;
            _messageText.TextWrap = true;
        }
 
        protectedoverrideType ThemeEffectiveType
        {
            get
            {
                returntypeof(IconListViewVisualItem);//TODO: was SimpleListViewVisualItem
            }
        }
    }

Viewing all articles
Browse latest Browse all 94857

Latest Images

Trending Articles



Latest Images

<script src="https://jsc.adskeeper.com/r/s/rssing.com.1596347.js" async> </script>