java设置宽度和高度_设置ItemsControl Children的宽度和高度

我的CustomItemsControl如下所示:

根据我的CustomItemsControl包含的项目数量,它应该计算“容器”项的宽度和高度 .

我以为我可以通过调用项目的测量/排列方法来实现这一点 . 但是我的代码似乎对项目的大小没有任何影响((实际)宽度或(实际)高度是NaN或0)

public class CustomItemsControl : ItemsControl

{

protected override Size MeasureOverride(Windows.Foundation.Size availableSize)

{

Windows.Foundation.Size size = base.ArrangeOverride(availableSize);

if (ItemsSource != null)

{

double CellWidth = size.Width / Items.Count;

foreach (var Item in Items)

{

DependencyObject Container = ContainerFromItem(Item);

if(Container!=null)

{

FrameworkElement Element = Container as FrameworkElement;

//Element.Width = CellWidth;

//Element.Height = CellWidth;

Element.Measure(new Size(CellWidth, CellWidth));

Element.Arrange(new Rect(0, 0, CellWidth, CellWidth));

}

}

}

return size;

}

}

除非您设置边框的宽度和高度(例如10),否则不会显示这些项目 . 我尝试完成我的CustomItemsControl计算项目的宽度和高度 . 我做错了什么?我怎样才能完成我的计划?

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值