使用按钮单击

时间:2018-01-05 09:07:27

标签: c# wpf avalonedit

我在窗口对话框(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

1 个答案:

答案 0 :(得分:0)

在代码背后......

创建一个成员:

RepositoryItemComboBox repositoryItemComboBox = new RepositoryItemComboBox();
repositoryItemComboBox.Items.AddRange(SomeCollection.ToArray());

detailView.Columns["SomeColumnName"].ColumnEdit = repositoryItemComboBox;

在你的构造函数中,或者在任何适合你需要的块中(它只需要发生一次):

private readonly SearchPanel searchPanel;

然后在事件处理代码中:

searchPanel = SearchPanel.Install(textEditor);