Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/.net/25.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 调整控件大小时出现问题_C#_.net_Silverlight_Silverlight 4.0 - Fatal编程技术网

C# 调整控件大小时出现问题

C# 调整控件大小时出现问题,c#,.net,silverlight,silverlight-4.0,C#,.net,Silverlight,Silverlight 4.0,我试图控制它将有一个动态大小,我首先测试了当你增加控件的大小时,效果很好,但是当我减小事件的大小时,甚至没有调用。 我正在使用以下事件调用函数 ChatList.SizeChanged += ChatList_SizeChanged; private void ChatList_SizeChanged (object sender, System.Windows.SizeChangedEventArgs e) { UpdateLayout (); CalculateSpace (e.N

我试图控制它将有一个动态大小,我首先测试了当你增加控件的大小时,效果很好,但是当我减小事件的大小时,甚至没有调用。 我正在使用以下事件调用函数

ChatList.SizeChanged += ChatList_SizeChanged;

private void ChatList_SizeChanged (object sender, System.Windows.SizeChangedEventArgs e)
{
  UpdateLayout ();
  CalculateSpace (e.NewSize.Width);
}
CalculateSpace函数具有以下代码

private void CalculateSpace (double width)
{
  var size = width / _List.Count;
  foreach (var in personSelector _List)
    personSelector.Value.Width = size;
  }
}
当屏幕尺寸减小时,是否有任何原因导致事件不会被调用


谢谢

如果没有关于控件布局和放置位置的良好信息,很难分析发生了什么。然而,我希望发现控件总是希望其大小不小于其内容。因此,一旦你膨胀了内容的宽度,你实际上就设置了它的最小宽度。当可用空间变小时,控件的大小不会减小,因为它“需要”更多

您是否考虑过使用列定义为1*宽度的
网格
。添加新的“person”元素时,控件只需向网格中添加另一个列定义,并向新元素中添加适当的grid.column属性值


网格将为您处理所有这些大小调整问题。

BTGMarco,由于该网站的工作方式,如果它回答了您的问题,您将花时间接受答案。你问了8个问题,但没有接受任何答案。请花点时间接受答案,否则你会对这个问题和未来的问题期望很少甚至没有答案。对不起,这只是这个社区的运作方式。