在WPF中运行时调整TextBox的大小
只是想知道如何通过在WPF中拖动角来让用户在运行时调整TextBox控件的大小。 不太重要的是,用于调整所有控件大小的技术是否相同?
谢谢 :)
您应该尝试将文本框的对齐设置为拉伸并将其放置在可以resize的容器中,例如带有栅格分割器的网格(或在可resize的窗口中)。 它比尝试创建自定义可resize的文本框容易得多,并且它将更好地与您的布局的其余部分一起使用。
编辑:这是一个真实的应用程序示例:
... ...
tehMick的答案绝对正确:你绝对应该创建一个容器来进行resize而不是自定义TextBox本身。 如果它适用于你GridSplitter
是一个非常好的开箱即用的解决方案。
我有相同的情况,但GridSplitter无法工作,所以我创建了一个“ResizeBorder”控件,它在四个角上处理鼠标拖动以在二维中resize,或者在两侧resize的中间位置。 这实际上是非常简单的代码:只需处理MouseDown,设置一个局部变量,给出MouseDown位置和侧面/角落被拖动,然后在MouseMove上更新大小。
我的ResizeBorder是可设计的,所以我只能在角落和侧面的线条上显示四个方框,或者我可以想象的更复杂的东西。
另外,请注意无论您使用的是Grid和GridSplitters还是ResizeBorder还是其他任何东西,您都可以选择将resizefunction放在控件周围,如下所示:
或者通过更新TextBox本身的ControlTemplate:
... ...
后一种方法的优点是你可以使用样式或附加属性来使TextBoxes可以resize,并且可以在代码中动态地更改TextBox的可调整性。
上述就是C#学习教程:在WPF中运行时调整TextBox的大小分享的全部内容,如果对大家有所用处且需要了解更多关于C#学习教程,希望大家多多关注—计算机技术网(www.ctvol.com)!
本文来自网络收集,不代表计算机技术网立场,如涉及侵权请联系管理员删除。
ctvol管理联系方式QQ:251552304
本文章地址:https://www.ctvol.com/cdevelopment/1002062.html