我有 xaml 自定义列表框项,高度为 165px
我正在用这些项目填充 StackPanel:
StackPanel list = new StackPanel();
foreach (Course course in Semestris.Courses)
{
TI.Course.Text = course.Name;
list.Children.Add(TI);
}
Color color = ConvertStringToColor("#FF838383");
Brush brush = new SolidColorBrush(color);
list.Background = brush;
list.Height = list.Children.Count*165; //make size of stack panel just as to display all elements
并添加颜色以查找错误。
此堆栈面板被放置在 Expander StackPanel 内:
Expander.Expander a = new Expander.Expander();
a.IsExpanded = false;
a.Content = list;
a.HeaderContent = Semestris.Name;
Expander 控件将每一行设置为自动,这意味着它将应用子项的大小。
将所有扩展器放入 1 个堆栈的最后一步:
Stack.Children.Add(a);
我的问题是:
所有折叠的扩展器都可以正常工作:
当项目不多时,一切正常:
但是当项目计数超过 30 项时,它会这样做:
问题出在哪里?