Wpf 我可以修改我的面板吗;儿童';宽度是多少?
比如说,我想象一下Wpf 我可以修改我的面板吗;儿童';宽度是多少?,wpf,silverlight,windows-phone-7,Wpf,Silverlight,Windows Phone 7,比如说,我想象一下 public int ChildSize { get { return childSize; } set { foreach (UIElement child in Children) { child.DesiredSize.Width = value;
public int ChildSize
{
get { return childSize; }
set
{
foreach (UIElement child in Children)
{
child.DesiredSize.Width = value;
}
}
}
我怀疑您正在编写自定义面板,这是一项相当高级的任务 您的面板应该为
MeasureOverride
和ArrangeOverride
方法创建覆盖
在这些方法中,您应该调用每个孩子的
Measure
和Arrange
方法,根据您确定的孩子大小和每个孩子的计算相对位置,传入适当的Size
和Rect
。您正在编写自定义面板吗?请详细回答你的问题。我知道这是我必须改变的财产?”因为RenderSize | DesiredSize是不可更改的。请查看MeasureOverride的描述:这就是您定义控件所需大小的地方。不能只设置属性。正如A.W.Jones提到的,您需要覆盖MeasureOverride和ArrangeOverride方法。