我在另一个列表框中有一个列表框,在内部列表框中,listboxitems的高度可能会增大或缩小。我的问题是,当内部项目缩小时,外部列表框不会重新呈现其高度。因此 - 在内部列表缩小之前保持前一个高度。
我在这里尝试了很多东西,包括所有类型的Invalidate,选择和取消选择应该更新的列表框项目以及更多 - 没有任何帮助....
任何人都可以帮我这个吗?
感谢名单, 吉利
答案 0 :(得分:0)
只是为了它,我做了以下几点:
<Grid x:Name="LayoutRoot">
<ListBox HorizontalAlignment="Left" Width="283" VerticalAlignment="Top">
<ListBox Margin="0,0,-274,0">
<ListBoxItem Content="Text"/>
<ListBoxItem Content="Text"/>
<ListBoxItem Content="Text"/>
<ListBoxItem Content="Text"/>
<ListBoxItem Content="Text"/>
<ListBoxItem Content="Text"/>
</ListBox>
<ListBox Margin="0,0,-274,0">
<ListBoxItem Content="Text"/>
<ListBoxItem Content="Text"/>
<ListBoxItem Content="Text"/>
<ListBoxItem Content="Text"/>
<ListBoxItem Content="Text"/>
<ListBoxItem Content="Text"/>
</ListBox>
<ListBox Margin="0,0,-274,0">
<ListBoxItem Content="Text"/>
<ListBoxItem Content="Text"/>
<ListBoxItem Content="Text"/>
</ListBox>
<ListBox Margin="0,0,-274,0">
<ListBoxItem Content="Text"/>
<ListBoxItem Content="Text"/>
<ListBoxItem Content="Text"/>
<ListBoxItem Content="Text"/>
<ListBoxItem Content="Text"/>
<ListBoxItem Content="Text"/>
</ListBox>
</ListBox>
</Grid>
现在我意识到列表框中的项目不是在运行时创建的,但是我创建了一个带有click处理程序的小按钮,它将项目添加到其中一个中间列表框中,并且所有内容都适当调整大小。
如果你发布你的代码,我们可以看一看,看看有什么不妥。
答案 1 :(得分:0)
以此为例:
<ListBox VerticalAlignment="Stretch" HorizontalAlignment="Stretch" Width="500">
<ListBox x:Name="Item1" VerticalAlignment="Stretch" HorizontalAlignment="Stretch" Width="300" BorderBrush="Red" BorderThickness="5">
<ListBox.Items>
<RichTextBox VerticalAlignment="Stretch" HorizontalAlignment="Stretch" Width="300" SizeChanged="OnInnserItemSizeChanged"/>
<RichTextBox VerticalAlignment="Stretch" HorizontalAlignment="Stretch" Width="300"/>
<RichTextBox VerticalAlignment="Stretch" HorizontalAlignment="Stretch" Width="300"/>
</ListBox.Items>
</ListBox>
<ListBox x:Name="Item2" BorderBrush="Green" BorderThickness="5" Width="300" VerticalAlignment="Stretch" HorizontalAlignment="Stretch">
<ListBox.Items>
<RichTextBox VerticalAlignment="Stretch" HorizontalAlignment="Stretch" Width="300"/>
<RichTextBox VerticalAlignment="Stretch" HorizontalAlignment="Stretch" Width="300"/>
<RichTextBox VerticalAlignment="Stretch" HorizontalAlignment="Stretch" Width="300"/>
</ListBox.Items>
</ListBox>
</ListBox>
现在,当我运行它并在其中一个RichTextBox中单击“Enter”/“Return”时,外部列表框项会伸展以匹配新的大小 - 但是当我删除新添加的行时,它不会调整大小原来的大小...
感谢名单, 吉利