C# wpf открыть новое окно списка списков - PullRequest
0 голосов
/ 08 февраля 2020

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

windowname wdname = new windowname();
                wdname.ShowDialog();

Но теперь у меня есть список окон. Я хочу открыть окно, когда я выбираю в выпадающем списке. Что мне делать. Большое спасибо за помощь.

1 Ответ

0 голосов
/ 08 февраля 2020

Вы можете добавить прослушиватель для события SelectionChanged и обработать выбор пользователя.

XAML:

<ComboBox SelectionChanged="ComboBoxSelectionChanged">
    <ComboBoxItem Tag="UsersWindow">Users Window</ComboBoxItem>
    <ComboBoxItem Tag="SettingsWindow">Settings Window</ComboBoxItem>
    <ComboBoxItem Tag="CustomersWindow">Customers Window</ComboBoxItem>
</ComboBox>

Кодовый код

public partial class MainWindow
{
    public List<Window> Windows { get; set; }

    public MainWindow()
    {
        InitializeComponent();

        Windows = new List<Window>
        {
            new Window { Name = "UsersWindow" },
            new Window { Name = "SettingsWindow" },
            new Window { Name = "CustomersWindow" },
        };
    }        

    private void ComboBoxSelectionChanged(object sender, SelectionChangedEventArgs e)
    {
        var comboBox = (ComboBox)e.Source;

        if (comboBox.SelectedItem == null) return;

        var selectedItem = (ComboBoxItem)comboBox.SelectedItem;
        var window = Windows.FirstOrDefault(w => w.Name.Equals(selectedItem.Tag));

        if (window == null) return;

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