3
我有一個控件不能完全顯示(通過減小窗口大小)。 但是該控件的ActualWidth和RenderSize/DesiredSize仍然顯示它的總大小。 我寫了下面的代碼,但它忽略了窗口的滾動條寬度,看起來很醜。 也許有辦法以更優雅的方式獲得可見的控制大小?在WPF中獲取可見的控件大小
private static double GetVisibleWidth(UIElement element, FrameworkElement container)
{
var visibleBounds =
element.TransformToAncestor(container)
.TransformBounds(new Rect(new Point(0, 0), element.RenderSize));
double visibleWidth = element.RenderSize.Width;
if (container != null)
{
visibleWidth = Math.Min(container.ActualWidth - visibleBounds.X, visibleWidth);
}
return visibleWidth;
}
LayoutInformation.GetLayoutClip爲元素及其可視父項返回null。我認爲IsMeasureValis在我的情況下是錯誤的。 – digger