Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/wpf/14.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
Wpf 我可以修改我的面板吗;儿童';宽度是多少?_Wpf_Silverlight_Windows Phone 7 - Fatal编程技术网

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方法。