我在窗口对话框(WPF)中使用AvalonEditor。窗口对话框主机TextEditor控件。我在Window上显示了Find按钮。单击按钮,搜索应在TextEditor内部工作。你能否建议如何绑定Button Find来调用TextEditor Search。
目前,我已经编辑了TextEditor构造函数来安装SearchPanel。在TextEditor中按Ctrl + F时,会出现默认搜索对话框。 我想要同样的事情来处理Button click,但是使用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即可调用“搜索”功能。
-Thanks
答案 0 :(得分:0)
在代码背后......
创建一个成员:
RepositoryItemComboBox repositoryItemComboBox = new RepositoryItemComboBox();
repositoryItemComboBox.Items.AddRange(SomeCollection.ToArray());
detailView.Columns["SomeColumnName"].ColumnEdit = repositoryItemComboBox;
在你的构造函数中,或者在任何适合你需要的块中(它只需要发生一次):
private readonly SearchPanel searchPanel;
然后在事件处理代码中:
searchPanel = SearchPanel.Install(textEditor);