C# WPF Expander с несколькими функциональными кнопками - PullRequest
1 голос
/ 30 января 2020

У меня есть расширитель (код ниже), к которому я добавил StackPanel и несколько кнопок. Они все показывают, когда я тестирую код, однако я не могу понять, как кодировать событие нажатия для кнопок. Любые идеи о том, как получить это функционирование?

<Expander x:Name="DBListing" ExpandDirection="Down" Header="DB List" Background="#FF644117" Foreground="LightGoldenrodYellow">
    <StackPanel Orientation="Vertical">
        <Button x:Name="EdiBtn" Content="EDI DB" Margin="0,0,0,0" Width="100" Height="30" Background="LightGoldenrodYellow" Foreground="#FF644117"/>
        <Button x:Name="IssuesBtn" Content="Issues DB" Margin="0,10,0,0" Width="100" Height="30" Background="LightGoldenrodYellow" Foreground="#FF644117"/>
        <Button x:Name="InterimBtn" Content="Interim DB" Margin="0,10,0,0" Width="100" Height="30" Background="LightGoldenrodYellow" Foreground="#FF644117"/>
    </StackPanel>
</Expander>

Я попытался настроить событие click для каждой кнопки отдельно в файле xaml.cs, а также попытался настроить оператор switch для Expander. Пока не повезло.

1 Ответ

1 голос
/ 31 января 2020

Чтобы подписаться на событие Click в Xaml, выполните следующие действия.

  1. В кнопке, для которой требуется связать операцию, введите Click=. После этого Visual Studio intellesense предложит имя в виде всплывающего окна. Нажмите на это, чтобы принять. Обратите внимание, что атрибут теперь заполнен как Click="ButtonOperation". В будущем вы можете указать более подходящее имя для операции.
  2. Поместите курсор мыши в любом месте только что созданного текста "{name}".
  3. Pu sh клавиша F12 , и вы перейдете к коду, где будет установлен указанный метод, с соответствующими параметрами.
  4. Для проверки в MessageBox.Show("Jabberwocky"); в методе скомпилируйте и запустите
  5. Когда вы нажимаете на кнопку, обратите внимание, что в окне сообщения появляется «Jabberwocky».
...