WPF:如何使文本框填满所有可用的水平空间?
WPF:如何使文本框填满所有可用的水平空间?
我正在WPF中创建一个表单。表单有带有左侧TextBlock的TextBoxes。带网格线的截图如下:
我想让它看起来像这样(请原谅MS Paint风格):
问题是:除非我将HorizontalAlignment设置为Stretch,否则文本框非常小,但是如果我这样做,我就不能将它们对齐到左边。如何使包含TextBlock/TextBox的网格左对齐并且使TextBox填充所有可用空间?
如果硬编码宽度,这很容易,但在调整大小时显然无法正常工作。我尝试使用Stack 和 Dock Panel去包含Grids,但没有成功。
我无法使用HorizontalAlignment=Stretch, MaxWidth, and Left aligned at the same time?,因为没有其他控件是我要填充的空间的宽度。
我也无法使用How to get controls in WPF to fill available space?,因为我的xaml中没有HorizontalContentAllignment。我尝试使用ContentControls包装内容并使用ItemsControl强制它,但没有成功。
下面是表单的xaml。请注意,此xaml适用于“创建”标题下和3个按钮右侧的控件。
FormTextBox的样式如下:
它会将角落圆化、更改背景颜色,并删除如果在你alt-tab键移出并回到应用程序之前已选择的虚线。
admin 更改状态以发布 2023年5月24日