Far*_*yev 11
这就是你要做的事情:
首先,将DoubleClickBehavior.cs类添加到项目中.
class DoubleClickBehavior : Behavior<TextBox>
{
protected override void OnAttached()
{
AssociatedObject.MouseDoubleClick += AssociatedObjectMouseDoubleClick;
base.OnAttached();
}
protected override void OnDetaching()
{
AssociatedObject.MouseDoubleClick -= AssociatedObjectMouseDoubleClick;
base.OnDetaching();
}
private void AssociatedObjectMouseDoubleClick(object sender, RoutedEventArgs routedEventArgs)
{
AssociatedObject.SelectAll();
}
}
Run Code Online (Sandbox Code Playgroud)
然后.xaml,将此行为添加到TextBox:
<TextBox>
<i:Interaction.Behaviors>
<local:DoubleClickBehavior/>
</i:Interaction.Behaviors>
</TextBox>
Run Code Online (Sandbox Code Playgroud)
您需要添加两个namepsaces .xaml才能使用您的行为.(我的项目名称是WpfApplication1,所以你可能需要改变它):
xmlns:local ="clr-namespace:WpfApplication1"
xmlns:i="clr-namespace:System.Windows.Interactivity;assembly=System.Windows.Interactivity"
Run Code Online (Sandbox Code Playgroud)
而已.你还需要System.Windows.Interactivity.dll使用这个Behavior类.
您可以从Nuget Package Manager下载它.
使用TextBox,您可以添加PreviewMouseDoubleClick事件.
<TextBox DockPanel.Dock="Top" Name="MyTextBox" AcceptsReturn="True" PreviewMouseDoubleClick="TextBoxSelectAll"/>
Run Code Online (Sandbox Code Playgroud)
然后,设置TextBox.SelectedText属性的TextBox在文本TextBox.
private void TextBoxSelectAll(object sender, MouseButtonEventArgs e) {
// Set the event as handled
e.Handled = true;
// Select the Text
(sender as TextBox).SelectAll();
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
5760 次 |
| 最近记录: |