0

我有 winform 托管 WPF 控制文本块,其中文本块的内容是动态的。我想根据内容设置文本块的高度。意思是文本块托管在 Windows 用户控件 (TitleBarHost) 中,而这个 Windows 控件又在运行时动态添加到另一个 winform 中。下面是动态添加控制的一段代码。

Control titleBar = new TitleBarHost(titleInfo);                        
(titleBar as ICustomUI).Initialize(_application, extraData);
panelHeader.Controls.Add(titleBar);
titleBar.Dock = DockStyle.Top;

标题栏视图.xaml

<Grid>
    <TextBlock x:Name="txtTitleBar" Text="{Binding Text}" Style="{StaticResource TextBlockStyle}"/>
</Grid>

标题栏主机.cs

    public void Initialize(object application, object configurationData)
    {
        m_Model = new TitleBarModel(this.titleInfo, application, configurationData);
        m_ViewModel = new TitleBarViewModel(m_Model);

        m_View = new TitleBarView { DataContext = m_ViewModel };

        if (m_ViewModel != null)
        {
            m_View.FormatString(m_ViewModel.Text);
        }

        elementHost1.Child = m_View;
    }

我需要根据内容动态设置文本块高度。我尝试使用文本块的 ActualHeight 道具但不起作用。也尝试使用高度自动,不起作用!

4

0 回答 0