解决WPF item的高度适应控件自身的大小,而不是每个item高度都固定一样

最近有个需求,将一些自定义的控件显示在ItemsControl中,通过绑定的方法却发现每个item的高度一样,并非是自定义控件本身的高度,网上搜了堆调整item高度的方法未果,只好自己动手
如图是未达到期望效果时的代码图
解决WPF item的高度适应控件自身的大小,而不是每个item高度都固定一样_第1张图片
解决WPF item的高度适应控件自身的大小,而不是每个item高度都固定一样_第2张图片
主程序代码:
在这里插入图片描述
解决WPF item的高度适应控件自身的大小,而不是每个item高度都固定一样_第3张图片
在这里插入图片描述
显然这并非预期的效果
既然item的高度和宽度不好设置那就看看
Test1,Test2的高度和宽度
解决WPF item的高度适应控件自身的大小,而不是每个item高度都固定一样_第4张图片
解决WPF item的高度适应控件自身的大小,而不是每个item高度都固定一样_第5张图片
效果是有了,要是每个自定义控件都在生成时给高宽度赋值会很麻烦,那么它为什么不用自已本身的高度呢,通过打断点来看看
解决WPF item的高度适应控件自身的大小,而不是每个item高度都固定一样_第6张图片
默认是没有设置值的,但自定义本身在设计时是有高度时为什么没有设置过来呢,这时去看看自定义控件设计时的高度用的是d:DesignHeight和d:DesignWidth,将它们改为 Height和Width试试
解决WPF item的高度适应控件自身的大小,而不是每个item高度都固定一样_第7张图片
将主程序调回原样
解决WPF item的高度适应控件自身的大小,而不是每个item高度都固定一样_第8张图片
解决WPF item的高度适应控件自身的大小,而不是每个item高度都固定一样_第9张图片
成功了,猜测d:DesighWidth可能只针对设计时大小,实际的大小会根据容器进行自适应调整

你可能感兴趣的:(wpf)