SizeBox是一个很有意思的控件,下边通过创建一个自变化宽高的文本输入框来举例讲述它的作用。当然自变化宽高的文本框可以用TextBox(Multi-line)即可实现(C++中为UMultiLineEditableTextBox类型),这里只是举例说明而已。
1.文字为EditTextBox(Multi-line),后边黑色背景为Image控件,把Image控件放进SizeBox控件中,勾选SizeBox的SizeToContent选项,选择WidthOverride和HeightOverride选项。
2. 类似SizeBox,将EditTextBox(Multi-line)也勾选SizeToContent选项,关闭AutoWrapText(自动换行),设置WrapTextAt(在何处换行)为你需要换行的最大长度,比如300。
3. 给EditTextBox(Multi-line)的OnTextChanged和OnTextCommitted绑定事件,在事件中获取EidtTextBox的大小(GetDesiredSize),重写SizeBox的宽高(SetWidthOverride和SetHeightOverride)。
//本文为CSDN博主执手画眉弯原创,未经允许不得转载!
附SizeBox说明:
/**
* A widget that allows you to specify the size it reports to have and desire. Not all widgets report a desired size
* that you actually desire. Wrapping them in a SizeBox lets you have the Size Box force them to be a particular size.
*
* * Single Child
* * Fixed Size
*/