настройка панели документов PDF - PullRequest
0 голосов
/ 15 марта 2019

Я работаю над приложением, разработанным в C # .NET WPF, я добавил две динамические кнопки в панель инструментов PDF-файла.

Я хотел знать, как выбрать из меню, которое содержит несколько действий,первый щелчок будет назначен первой динамической кнопке, второй щелчок - второй динамической кнопке, третий щелчок назад - первой динамической кнопке.

Вот снимки экрана, объясняющие мою потребность, и код, который я разработал для одной динамической кнопки.

Код XAML для динамической кнопки:

<ToggleButton
    Width="{StaticResource ToolBarButtonWidth}"
    Height="{StaticResource ToolBarButtonWidth}"
    Command="{Binding ReapplyAnnotationCommand}"
    IsChecked="{Binding IsDrawingActive}"
    ToolTip="Ajoute une annotation du type sélectionné">
    <TextBlock Style="{Binding AnnotationToolsMenuStyle}" />
</ToggleButton>

<ToggleButton
    Width="{StaticResource ToolBarButtonWidth}"
    Height="{StaticResource ToolBarButtonWidth}"
    Command="{Binding ReapplyAnnotationCommand}"
    IsChecked="{Binding IsDrawingActive}"
    ToolTip="Ajoute une annotation du type sélectionné">
    <TextBlock Style="{Binding AnnotationToolsMenuStyle}" />
</ToggleButton>

C # код, связанный с действиями, назначенными динамической кнопке:

private void ReapplyAnnotation()
{
    this.IsSelectTextActive = false;
    this.IsSelectAnnotationActive = false;

    if (this.IsInsertCommentaireChecked)
    {
        this.AddTextAnnot();
    }
    else if (this.IsHighlightChecked)
    {
        this.Highlight();
    }
    else if (this.IsUnderlineChecked)
    {
        this.Underline();
    }
    else if (this.IsInsertInfoBulleChecked)
    {
        this.AddStickyNote();
    }
    else if (this.IsDrawFreeHandChecked)
    {
        this.Freehand();
    }
    else if (this.IsDrawLineChecked)
    {
        this.Line();
    }
    else if (this.IsDrawCircleChecked)
    {
        this.Oval();
    }
    else if (this.IsDrawRectChecked)
    {
        this.Rect();
    }
    else if (this.IsDrawArrowChecked)
    {
        this.Arrow();
    }
}

C # код, который позволит мне выбрать действие, которое будет применено к кнопке

public bool IsDrawingActive
    {
        get { return this.isDrawingActive; }
        set
        {
            this.isDrawingActive = value;
            this.RaisePropertyChanged(() => this.IsDrawingActive);
        }
    }

** C # * Этот код показывает, как отменить выбор текущего инструмента.

Можете ли вы сказать мне, как это сделать, чтобы я реализовал задачу в коде, который позволит мне отменить выбор инструмента только для первой кнопки?

 private void UnselectAnyActiveCommand()
    {
        DisableToggles();

        this.IsInsertCommentaireChecked = false;
        this.IsHighlightChecked = false;
        this.IsUnderlineChecked = false;
        this.IsInsertInfoBulleChecked = false;
        this.IsDrawFreeHandChecked = false;
        this.IsDrawLineChecked = false;
        this.IsDrawCircleChecked = false;
        this.IsDrawRectChecked = false;
        this.IsDrawArrowChecked = false;
    }

    private void DisableToggles()
    {
        this.IsPanActive = false;
        this.IsSelectTextActive = false;
        this.IsSelectAnnotationActive = false;
        this.IsDrawingActive = false;
    }

screenshot explaining my need

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...