0

我正在使用 AvaloniaUI https://avaloniaui.net/docs/

我研究了他们的文档,但似乎找不到如何制作按钮,按下该按钮会迫使您选择文件夹。

有没有可能,如果有的话,有什么例子吗?

4

1 回答 1

0

前段时间我玩弄了 AvaloniaUI,让它在 Windows 下工作,但在 Mac 下工作却很难。

不过,我已经看到了您似乎打开对话框的其他问题。不过,对于未来:

在您的 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操作,则可以制作此偶数处理程序。

我希望这有帮助。

于 2020-03-12T10:16:31.373 回答