首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >自动调整ElementHost到其内容的大小

自动调整ElementHost到其内容的大小
EN

Stack Overflow用户
提问于 2011-02-26 03:24:44
回答 2查看 5.6K关注 0票数 7

我有一个小的WPF控件,它有一个TextWrapping设置为Wrap的TextBlock。我正在尝试将其托管在现有的WinForms应用程序中。我已经将ElementHost停靠在表单的顶部,我想根据ElementHost所需的高度来调整TextBlock的高度。有什么方法可以做到这一点吗?

EN

回答 2

Stack Overflow用户

发布于 2011-02-26 04:25:04

WinForms的大小调整机制与WPF不同。

您是否尝试过将ElementHost的AutoSize属性设置为true?

票数 5
EN

Stack Overflow用户

发布于 2015-01-20 00:05:41

我找到了答案here

这是上面链接中的代码:

代码语言:javascript
复制
public System.Windows.Size GetElementPixelSize(UIElement element) 
{ 
    Matrix transformToDevice; 
    var source = PresentationSource.FromVisual(element);
    if (source != null)
        transformToDevice = source.CompositionTarget.TransformToDevice;
    else     
        using (var Hwndsource = new HwndSource(new HwndSourceParameters()))
            transformToDevice = Hwndsource.CompositionTarget.TransformToDevice;


    if (element.DesiredSize == new System.Windows.Size()) 
        element.Measure(new System.Windows.Size(double.PositiveInfinity, double.PositiveInfinity)); 

    return (System.Windows.Size)transformToDevice.Transform((Vector)element.DesiredSize); 
} 
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/5121686

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档