AvaloniaUI - Как выбрать папку - PullRequest
0 голосов
/ 11 марта 2020

Я использую AvaloniaUI https://avaloniaui.net/docs/

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

Возможно ли это, и если да, то как, например?

1 Ответ

0 голосов
/ 12 марта 2020

Я поиграл с AvaloniaUI некоторое время go, заставил его работать под Windows и изо всех сил пытался заставить его работать под Ма c.

Тем не менее, я видел ваш другой вопрос, где вы, кажется, чтобы открыть диалог. Тем не менее, на будущее:

В своем XAML вы помещаете кнопку в нужное вам место:
<Button Content="Choose folder..." Margin="3" Name="FolderButton" />

Возможно, есть другой способ заставить его работать, работает следующее для меня:
В вашем коде вам нужно создать переменную, которая представляет вашу кнопку:
private Button _folderButton;
В вашем конструкторе или в вашем методе InitializeComponent() вы найдете кнопку из XAML и назначите ее вашему переменная:
_folderButton = this.FindControl<Button>("FolderButton");
Вы также назначаете обработчик события для Click события:
_folderButton.Click += FolderButtonClick;
Вы можете немедленно добавить отписку в своем деструкторе:
_folderButton.Click -= FolderButtonClick;

Теперь вы предоставляете объявление и реализацию обработчика события:

public void FolderButtonClick(object sender, RoutedEventArgs e)
{
    ...
}

Вы можете использовать http://avaloniaui.net/api/Avalonia.Controls/OpenFolderDialog/ - как вы уже узнали в другом своем вопросе.

Этот четный обработчик можно сделать async, если у вас есть какие-либо await операции внутри.

Надеюсь, это поможет.

...