c# - 设置窗口大小以适应内容,但阻止窗口宽度超出屏幕宽度
问题描述
我想在 Visual Studio中创建一种类似于Overloads 窗口的弹出窗口。就像 Overloads 窗口一样,它几乎可以在屏幕上的任何位置弹出。
我有一个Window
有子TextBlock
控件的。通过将其属性设置为Window
来根据大小更改其大小。如果太长,则将其宽度调整为超出屏幕宽度,从而导致部分可见。我想在它到达屏幕末尾时换行,可以这么说。TextBlock
SizeToContent
WidthAndHeight
TextBlock
Text
Window
Window
Text
我尝试将TextBlock
TextWrapping
属性设置Wrap
为希望阻止这种行为,但由于设置了属性,它没有帮助SizeToContent
。有什么建议/解决方法吗?
谢谢你的帮助!
解决方案
您可以将MaxWidth
窗口的属性设置为屏幕的宽度,例如:
TextBlock text = new TextBlock()
{
Text = "some very long string...",
TextWrapping = TextWrapping.Wrap
};
Window window = new Window()
{
SizeToContent = SizeToContent.WidthAndHeight,
Content = text,
MaxWidth = System.Windows.SystemParameters.PrimaryScreenWidth
};
window.Show();
推荐阅读
- c++ - 如何在 POSIX 共享内存中管理类型安全
- react-native - 如何在 React Native 中的屏幕之间传递状态
- javascript - 如何使 Service Worker 从 API 缓存数据并在需要时更新缓存
- matrix - 为什么 z3py 求一个 4*4 矩阵的特征值要花这么多时间,却没有给出任何解?
- puppeteer - pyppeteer 等到页面的所有元素都加载完毕
- r - 我希望使用 R 编程与 3 个字段进行统计相关性
- python - Selenium 解析整个文档而不是 webelement
- vb.net - 比较 vb.net 中的两个数据表
- angular - Observable - 过滤和切换属性(角度)
- reactjs - 为什么在状态 React Redux 工具包中未定义数组