我刚刚开始研究wpf中的自定义控件。我创建了一个继承自Frameworkelement的控件,我正在绘制内容。内容大于窗口的高度。即使将控件放在滚动查看器中,滚动也不会出现。
答案 0 :(得分:2)
由于您从Framework Element继承并使用DrawingContext绘制内容,因此可能无法正确测量控件。您应该了解WPF的布局系统。 WPF遵循two pass layout system。衡量和安排。在Measure Override中,您需要告诉控件需要多少大小。在安排中,您需要将控件放在正确的矩形中。
以下情况向控件返回300x300像素。您可能需要根据渲染内容的逻辑来计算大小
protected override Size MeasureOverride(Size availableSize)
{
return new Size(300, 300);
}
答案 1 :(得分:1)
集:
ScrollViewer.VerticalScrollBarVisibility="Visible"
在您的自定义控件上。也:
ScrollViewer.CanContentScroll="True"