我在窗口对话框(WPF)中使用AvalonEditor。窗口对话框宿主TextEditor控件。我在Windows上有明确的查找按钮。点击按钮,搜索应该在文本编辑器内工作。你能建议如何绑定按钮查找调用文本编辑器搜索。
目前,我已经编辑了TextEditor构造函数来安装SearchPanel。当在TextEditor中按Ctrl + F时,将显示默认搜索对话框。我希望同样的事情工作按钮点击,但使用MVVM的方法。
请建议。
WPF XAML代码
<Window>
<StackPanel Grid.Row="0" Grid.Column="1" Orientation="Horizontal" HorizontalAlignment="Left">
<Button Name="FindButton" Content="Find" Margin="2" Style="{DynamicResource ButtonFooter_Style}" >
<Button.CommandBindings>
<CommandBinding Command="ApplicationCommands.Find" CanExecute="CommandBinding_CanExecute">
</CommandBinding>
</Button.CommandBindings>
</Button>
<avalonEdit:TextEditor Grid.Row="2" Grid.Column="1" Name="textEditor"
FontFamily="Consolas"
FontSize="10pt"
SyntaxHighlighting="XML" ShowLineNumbers="True" >
</avalonEdit:TextEditor>
</Window>
已编辑TextEditor.cs类构造函数
public TextEditor() : this(new TextArea())
{
Search.SearchPanel.Install(this.TextArea);
}
按Ctrl + F时启用查找功能
现在,我希望查找按钮调用搜索功能,而无需按Ctrl + F。
- 谢谢
2条答案
按热度按时间pzfprimi1#
在代码后面…
创建一个成员:
在你的构造函数中,或者在任何适合你需要的块中(只需要发生一次):
然后在事件处理代码中:
anhgbhbe2#
按照https://stackoverflow.com/a/12399756/5041912中的想法,您还可以添加一个布尔DependencyProperty,该属性可以在ViewModel中设置,并通过单击按钮进行切换
在视图模型中:
在MvvmTextEditor中:
在视图中:
Open AvalonEdit SearchPanel with a button click