在给定Datatemplate和要绑定到内容的对象的情况下,代码获得所需的高度。但是,这真的很慢。有没有人有替代方案,或者想知道如何优化此代码。
public static Double GetDesiredHeight(Object content, DataTemplate dataTemplate)
{
try
{
ContentPresenter element = new ContentPresenter
{
Content = content,
ContentTemplate = dataTemplate,
};
element.Measure(new Size(Double.PositiveInfinity, Double.PositiveInfinity));
var result = element.DesiredSize.Height;
element.ContentTemplate = null;
return result;
}
catch (Exception)
{
return 0;
}
}
答案 0 :(得分:-1)
您是否尝试过使用ActualHeight
属性而不是Height
属性?
尝试更改此行:
var result = element.DesiredSize.ActualHeight;