如何使用启用 Scroll 制作不可选择的 TextBox?
How can I make unselectable TextBox with enable Scroll?
我想在 WPF 中使用启用的滚动条制作不可选择的文本框。
如果我设置 IsReadOnly=True,它可以滚动但可以选择文本。
如果我设置 IsEnabled=True,它是不可选择的,但滚动被禁用。
IsHitTestVisible=True 也无法选择,禁用滚动。
如何制作不可选择的、启用的滚动文本框?
您可以设置 IsHitTestVisible=false
并使用 ScrollViewer 包裹 TextBox
<ScrollViewer Width="100" Height="50">
<TextBox IsHitTestVisible="False" TextWrapping="Wrap">asjdla jksad lkjasd jd kla sljas kdj ksald jksad ksalj dlasj lkajs ljka sajksd</TextBox>
</ScrollViewer>
'IsHitTestVisible' 导致文本框处于非活动状态,您无法修改内容。我希望下面的代码能满足您的要求
WPF:
<ScrollViewer Width="120" Height="50">
<TextBox x:Name="txBox" SelectionBrush="Transparent" ContextMenu="{x:Null}" TextWrapping="Wrap" Text="How can I make unselectable TextBox with enable Scroll?"/>
</ScrollViewer>
如果您想限制从文本框中复制文本,请另外使用以下代码。
后面的代码:
private void TxBox_KeyDown(object sender, KeyEventArgs e)
{
if (txBox.SelectedText.Length > 0)
{
txBox.SelectionLength = 0;
}
}
美好的一天:)
我想在 WPF 中使用启用的滚动条制作不可选择的文本框。
如果我设置 IsReadOnly=True,它可以滚动但可以选择文本。
如果我设置 IsEnabled=True,它是不可选择的,但滚动被禁用。
IsHitTestVisible=True 也无法选择,禁用滚动。
如何制作不可选择的、启用的滚动文本框?
您可以设置 IsHitTestVisible=false
并使用 ScrollViewer 包裹 TextBox
<ScrollViewer Width="100" Height="50">
<TextBox IsHitTestVisible="False" TextWrapping="Wrap">asjdla jksad lkjasd jd kla sljas kdj ksald jksad ksalj dlasj lkajs ljka sajksd</TextBox>
</ScrollViewer>
'IsHitTestVisible' 导致文本框处于非活动状态,您无法修改内容。我希望下面的代码能满足您的要求
WPF:
<ScrollViewer Width="120" Height="50">
<TextBox x:Name="txBox" SelectionBrush="Transparent" ContextMenu="{x:Null}" TextWrapping="Wrap" Text="How can I make unselectable TextBox with enable Scroll?"/>
</ScrollViewer>
如果您想限制从文本框中复制文本,请另外使用以下代码。
后面的代码:
private void TxBox_KeyDown(object sender, KeyEventArgs e)
{
if (txBox.SelectedText.Length > 0)
{
txBox.SelectionLength = 0;
}
}
美好的一天:)