我有以下
public class MatrixButton : Button
{
public MatrixButton()
{
Height = 20;
Width = 44;
Content = "foo";
}
protected override Size MeasureOverride(Size constraint)
{
var measureOverride = new Size(44, 20);
return measureOverride;
}
protected override Size ArrangeOverride(Size arrangeBounds)
{
var arrangeOverride = new Size(44, 20);
return arrangeOverride;
}
}
现在我把那个按钮放在一个空窗口中:
public partial class MainWindow : Window
{
public MainWindow()
{
InitializeComponent();
Content = new MatrixButton();
}
}
出于某种原因,该按钮在窗口中不可见。有谁知道为什么? 如果我删除了覆盖,则显示正确的按钮...
修改 原因是按钮被集成在一个复杂的布局中,其中有很多布局通道消耗了大量的时间,但按钮的大小将始终相同
答案 0 :(得分:0)
即使您想要限制大小,您仍然应该调用reloadData
的子元素的基本方法进行测量并按预期进行排列:
Button