我想它例如我可以修改我的面板的兒童寬度嗎?
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
根據每個孩子的你確定childSize和計算的相對位置。
我知道這 哪些是我必須改變的財產?因爲RenderSize | DesiredSize不可更改 –
查看MeasureOverride的描述:http://msdn.microsoft.com/en-us/library/system.windows.frameworkelement.measureoverride.aspx這就是您定義控件所需大小的位置。你不能只設置一個屬性。您需要像A.W.Jones提到的那樣覆蓋方法MeasureOverride和ArrangeOverride。 – invalidusername
您正在編寫自定義面板嗎?請在你的問題更詳細。 – AnthonyWJones