有没有办法在 WPF 的 TextBox 中添加一段固定的文本(TextBlock 或 Label)?这样;用户可以在控件中围绕它写文本,但不能删除或编辑它?
我正在寻找 this question 的倒数,即:
<TextBox>
"Chunk #1: This part of text is editable"
"Chunk #2: This piece is not editable"
"Chunk #3: This text is editable"
</TextBox>
(注意:这些是用于详细说明的假想卡盘,它是一个文本 block 的全部延续;可能是多行,带有换行符)。
当用户编辑 Chunk #1
和 #3
时,Chunk #2
应该相应移动。
最佳答案
您可以在 StackPanel 中使用三个 TextBox 控件:
<Grid>
<Grid.RowDefinitions>
<RowDefinition Height="*"/>
<RowDefinition Height="Auto"/>
<RowDefinition Height="*"/>
</Grid.RowDefinitions>
<Grid.ColumnDefinitions>
<ColumnDefinition Width="*"/>
<ColumnDefinition Width="Auto"/>
<ColumnDefinition Width="*"/>
</Grid.ColumnDefinitions>
<StackPanel Orientation="Horizontal" Grid.Row="1" Grid.Column="1">
<TextBox BorderThickness="1,1,0,1"/>
<TextBox BorderThickness="0,1,0,1"
Text="Chunk 2" IsReadOnly="True"
IsTabStop="False" />
<TextBox BorderThickness="0,1,1,1"/>
</StackPanel>
</Grid>
结果是这样的:
编辑:您应该能够使用 Tab 键从第一个 TextBox 跳到最后一个。
关于c# - WPF - 部分不可编辑的文本框,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20959007/