我如何在UWP中有一个像TExtBlock这样的控制器,用户可以用鼠标调整它的大小?
我不知道唯一的问题。 我尝试了XAMLBrewer的弹出控件,但这只是为了操纵而不是调整大小。
答案 0 :(得分:0)
GridSplitter中有一个Windows Community Toolkit控件。
如果您的TextBlock
位于网格中,则可以使用GridSplitter
控件通过鼠标拖动来调整TextBlock的大小。
xmlns:controls="using:Microsoft.Toolkit.Uwp.UI.Controls"
<Grid>
<Grid.ColumnDefinitions>
<ColumnDefinition MinWidth="100"></ColumnDefinition>
<ColumnDefinition></ColumnDefinition>
</Grid.ColumnDefinitions>
<Grid.RowDefinitions>
<RowDefinition MinHeight="100"></RowDefinition>
<RowDefinition Height="11"></RowDefinition>
<RowDefinition></RowDefinition>
</Grid.RowDefinitions>
<TextBlock x:Name="txb" Grid.Column="0"
TextWrapping="Wrap"
Margin="12,12" PointerReleased="TextBlock_PointerReleased" PointerPressed="TextBlock_PointerPressed">
This text to simulate the resizing feature of the Grid Splitter Control, try to move the splitter to see the effect RowDefinition MinHeight="100"
</TextBlock>
<controls:GridSplitter
Width="11"
Background="LightGray"
GripperCursor="Default"
HorizontalAlignment="Left"
Grid.Column="1"
ResizeDirection="Auto"
ResizeBehavior="BasedOnAlignment"
CursorBehavior="ChangeOnSplitterHover"
GripperForeground="White">
</controls:GridSplitter>
<controls:GridSplitter
Height="11"
Background="LightGray"
GripperCursor="Default"
HorizontalAlignment="Stretch"
Grid.Row="1"
GripperForeground="White">
</controls:GridSplitter>
</Grid>
它实际上是调整目标列或行的大小,而不是调整TextBlock的大小。但是视觉效果与您的描述相同。
如果您不喜欢此控件,则必须自己实现此功能。没有适合您的内置API。