c# - 如何设置 WPF 窗口的宽度等于其标题栏中的内容?

标签 c# .net wpf xaml

如果我在 WPF 中有如下窗口:

<Window
    Title="Alter Window Width so that the complete title is shown."
    SizeToContent="WidthAndHeight"
    WindowStartupLocation="CenterOwner">

此窗口将自动调整大小以确保其所有内容都可见。但它对标题不做同样的事情,所以当窗口显示时,标题的一部分可能会被隐藏。

如何确保窗口的宽度足以在标题栏中显示标题?

最佳答案

在窗口中添加一个隐藏的文本 block :

<TextBlock 
   Text="{Binding Path=Title,RelativeSource={RelativeSource Mode=FindAncestor, AncestorType=Window}}" 
   Visibility="Hidden" 
   Height="0" 
   Margin="100 0 0 0">
</TextBlock>

边距允许窗口控件被推开。

高度使控件不占用垂直空间。

由于高度为零,可能不需要可见性,但将其设置为隐藏将导致它占用 Canvas 上的空间但不显示任何内容。

关于c# - 如何设置 WPF 窗口的宽度等于其标题栏中的内容?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29839479/

相关文章:

c# - 设置鼠标悬停/用户单击按钮的样式

c# - 派生类应该处理基类的事件吗? (C#/WPF)

c# - 在 Microsoft 测试项目中包含资源 dll

c# - 使用 libvlc 创建音频可视化工具

wpf - 当项目不属于 ItemsSource 集合时,如何设置 ComboBox 的 SelectedItem?

ControlTemplate 的 ResourceDictionary 中的 WPF 事件

c# - 有人有一些 TAP 或 SNPP 的例子吗?

.net - 如何使用 Alt + 字母聚焦文本框

c# - WinForms 将非透明字符串绘制成透明窗体

c# - 在 TableAdapter 的填充查询中使用变量