我可以修改我的面板的儿童宽度吗?
我想它例如我可以修改我的面板的儿童宽度吗?
public int ChildSize
{
get { return childSize; }
set
{
foreach (UIElement child in Children)
{
child.DesiredSize.Width = value;
}
}
}
我怀疑你编写自定义面板,这是一种相当先进的任务。
您的面板应为MeasureOverride
和ArrangeOverride
方法创建覆盖。
在这些方法中,你应该调用每个孩子的Measure
和Arrange
方法通过在适当的Size
和Rect
根据每个孩子的你确定childSize和计算的相对位置。
我知道这 哪些是我必须改变的财产?因为RenderSize | DesiredSize不可更改 –
查看MeasureOverride的描述:http://msdn.microsoft.com/en-us/library/system.windows.frameworkelement.measureoverride.aspx这就是您定义控件所需大小的位置。你不能只设置一个属性。您需要像A.W.Jones提到的那样覆盖方法MeasureOverride和ArrangeOverride。 – invalidusername
您正在编写自定义面板吗?请在你的问题更详细。 – AnthonyWJones