Xóa IsEnabled và đặt TextBox là ReadOnly sẽ cho phép bạn chọn văn bản nhưng ngừng nhập người dùng.
IsReadOnly="True"
Vấn đề duy nhất với cách tiếp cận này là mặc dù bạn sẽ không thể nhập vào Hộp văn bản nó vẫn sẽ 'Bật'.
Để xoay vòng (nếu bạn muốn?), Bạn chỉ có thể thêm kiểu để làm sáng văn bản và làm tối nền (để làm cho văn bản bị tắt).
Tôi đã thêm ví dụ sau với kiểu sẽ lật hộp văn bản giữa giao diện đã tắt và được bật.
<Window x:Class="WpfApplication1.Window1"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
Title="Window1" Height="300" Width="300">
<Window.Resources>
<Style TargetType="{x:Type TextBox}">
<Style.Triggers>
<Trigger Property="IsReadOnly" Value="True">
<Setter Property="Background" Value="LightGray" />
</Trigger>
<Trigger Property="IsReadOnly" Value="True">
<Setter Property="Foreground" Value="DarkGray" />
</Trigger>
<Trigger Property="IsReadOnly" Value="False">
<Setter Property="Background" Value="White" />
</Trigger>
<Trigger Property="IsReadOnly" Value="False">
<Setter Property="Foreground" Value="Black" />
</Trigger>
</Style.Triggers>
</Style>
</Window.Resources>
<Grid>
<TextBox Height="23" Margin="25,22,133,0" IsReadOnly="True" Text="monkey" Name="textBox1" VerticalAlignment="Top" />
<Button Height="23" Margin="25,51,133,0" Name="button1" VerticalAlignment="Top" Click="button1_Click">Button</Button>
</Grid>
private void button1_Click(object sender, RoutedEventArgs e)
{
textBox1.IsReadOnly = !textBox1.IsReadOnly;
}
Nguồn
2009-07-27 07:22:01
Tôi đã sử dụng 'SelectAll()' và sau đó nó cho phép bạn nhấp chuột phải và sao chép nội dung. – EricG