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 } } }