C# 可调整大小的多个文本框
我将创建一些程序,可以调整(拖动)多个文本框的大小C# 可调整大小的多个文本框,c#,wpf,drag,C#,Wpf,Drag,我将创建一些程序,可以调整(拖动)多个文本框的大小 但是,我不知道如何构建这个布局。是否知道如何创建拖动布局?这里不完全清楚您的确切规格。但是,图形使它看起来像是您希望网格中的某些单元格具有不同宽度的抓取手柄,而其他单元格则没有。为此,您应该能够使用GridSplitter对象 例如: 以上显示了一个网格,在中间行中有三个代码>文本框< /代码>控件,它们之间的宽度可以通过拖动 GridSplitter < /代码>而在用户之间修改。它们上面的标签(即TextBlock对象)也会被移动/调
但是,我不知道如何构建这个布局。是否知道如何创建拖动布局?这里不完全清楚您的确切规格。但是,图形使它看起来像是您希望网格中的某些单元格具有不同宽度的抓取手柄,而其他单元格则没有。为此,您应该能够使用
GridSplitter
对象
例如:
以上显示了一个网格,在中间行中有三个代码>文本框< /代码>控件,它们之间的宽度可以通过拖动<代码> GridSplitter < /代码>而在用户之间修改。它们上面的标签(即
TextBlock
对象)也会被移动/调整大小,因为它们与每个相应的TextBox
共享同一列
将显示第四个文本框
,在最后一行中跨越三列,以显示如何仍然具有独立于拆分器的其他网格元素。我想您可以修改基本想法以满足您的具体需求
请注意,为拆分器对象提供特定格式非常重要,它们出现在与之共享栅格元素的控件之后,以便它们在z顺序中位于这些控件之上
另请参见此堆栈溢出问题:
附录:
正如(现已删除)注释中所暗示的,可以放置拆分器控件,而不必与网格中的其他元素共享单元格(可能会遮挡)。下面的XAML代码片段(即仅网格
元素)显示了如何工作:
由于每个GridSplitter
都在其自己的列中居中,因此不需要进行RenderTransform
。ResizeBehavior
设置为PreviousAndNext
,因此拖动拆分器不会影响包含拆分器的列的宽度,而是影响其前后的列的宽度
您可以在这个场景中应用一个
DataGrid
控件,让它做您想做的事情。但是在你的问题中没有任何东西向我建议你需要一个数据网格的完整功能集,甚至你会对其中的一些约束感到满意(比如标题的格式,以及你是否可以在布局中包含其他固定宽度的元素)。我相信你正在寻找一个数据网格,我想你希望标签和文本框一起拖动,在这种情况下,标签是被拖动的而不是文本框。不完全是你想要的,但我认为它满足了你的要求purpose@GordonAllocman非常感谢你!我将搜索ITI如果创建包含文本框的自定义标题的DataGrid不起作用,我还建议查看ItemsControl。过去我使用ItemsControl做了很多拖放操作,但这比仅仅覆盖DataGrid头要多得多。