Я занимаюсь разработкой приложения WPF и разработал скользящую панель навигации. В настоящее время он настроен на две разные кнопки; один, чтобы открыть панель навигации и один, чтобы закрыть. Однако я пытаюсь реализовать переключатель, чтобы при нажатии одной кнопки открывалась панель навигации, а затем при повторном нажатии - панель навигации закрывалась.
У меня все это разработано отдельно от функции переключения, в которой у меня есть кнопка, функция для запуска открытия и закрытия, но не переключения. Пока у меня есть следующий код. Как прокомментировано, первая часть открывает панель навигации, а вторая закрывает ее.
WPF XAML
<Button x:Name="ToggleNavBtn" Click="ToggleNavBtn_Click" ToolTip="Toggle navigation" Height="50" Width="20" Content="|||" Background="#C20114" Foreground="#fff" ></Button>
C# Код
//Either 1 (Open) or 0 (Closed)
int state = 0;
if (state == 0)
{
//Open navigation
Storyboard sbOpen = Resources["OpenNavMenu"] as Storyboard;
sbOpen.Begin(NavMenu);
state = 1;
}
else if (state == 1)
{
// Closes navigation
Storyboard sb = Resources["CloseNavMenu"] as Storyboard;
sb.Begin(NavMenu);
state = 0;
}
Я планировал использовать переменную и изменяйте это после выполнения каждой части кода, но, очевидно, переменная state
является локальной в операторе if, так что, хотя она представляет желаемую функциональность, приводит к открытию только когда-либо навигационной панели.
Мой вопрос: как Я хотел бы убедиться, что, когда панель навигации закрывается, что при нажатии кнопки панель навигации открывается, а затем снова нажимается одна - закрывается, повторяя непрерывно, независимо от того, сколько я нажимаю на кнопку.
Надеюсь, это имеет смысл, заранее спасибо.