Я работаю над приложением, разработанным в 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;
}