Я поиграл с 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
операции внутри.
Надеюсь, это поможет.