调整控件大小的问题

时间:2011-02-07 21:19:05

标签: c# .net silverlight silverlight-4.0

我正在尝试控制它将具有动态大小,我在增加控件的大小时首先测试,工作得很好,但是当我减少事件的大小时甚至没有被调用。 我正在使用以下事件来调用函数

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 个答案:

答案 0 :(得分:0)

很难分析控制器布局和放置位置缺乏良好信息的情况。但是我希望发现控件总是希望其内容的大小不会少。因此,只要您膨胀其内容的宽度,您实际上就会设置其最小宽度。当可用空间变小时,控件的大小不会减小,因为它“需要”更多。

您是否考虑使用Grid,其列定义为1 *宽度。当你添加一个新的“person”元素时,控件只是将另一个列定义添加到网格中,并将适当的Grid.Column属性值添加到新元素。

Grid将为您处理所有这些大小调整的内容。