【发布时间】:2020-03-11 16:40:02
【问题描述】:
我正在使用 AvaloniaUI https://avaloniaui.net/docs/
我已经研究了他们的文档,但似乎我找不到如何制作按钮,按下该按钮会迫使您选择一个文件夹。
有没有可能,如果有,有什么例子吗?
【问题讨论】:
标签: c# wpf avaloniaui
我正在使用 AvaloniaUI https://avaloniaui.net/docs/
我已经研究了他们的文档,但似乎我找不到如何制作按钮,按下该按钮会迫使您选择一个文件夹。
有没有可能,如果有,有什么例子吗?
【问题讨论】:
标签: c# wpf avaloniaui
我前段时间玩过 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/ - 正如您在其他问题中已经发现的那样。
如果您有任何 await 操作,则可以将这个偶数处理程序设置为 async。
我希望这会有所帮助。
【讨论】: