Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/xamarin/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
表单:在XamarinAndroid上保存文件对话框_Xamarin_Xamarin.forms_Xamarin.android_Filenames_Savefiledialog - Fatal编程技术网

表单:在XamarinAndroid上保存文件对话框

表单:在XamarinAndroid上保存文件对话框,xamarin,xamarin.forms,xamarin.android,filenames,savefiledialog,Xamarin,Xamarin.forms,Xamarin.android,Filenames,Savefiledialog,我正在尝试将文件保存到设备 问题是我正在从代码隐藏中硬编码文件名 我的要求是要求用户使用用户定义的文件名保存文件。如何通过在Xamarin.Forms中打开filesave对话框来请求用户保存文件?您必须自己实现文件选择器,没有内置的方法可以做到这一点,最好到GitHub去看看是否需要它 在我看来,只要弹出一个文本框,让用户输入一个文件名,用正则表达式或其他东西验证文件名,然后用该文件名保存文件,你就可以很容易地实现你的目标,你甚至可以保存文件,并给他们一个选项,通过列出所有文件名来重命名文件

我正在尝试将文件保存到设备

问题是我正在从代码隐藏中硬编码文件名


我的要求是要求用户使用用户定义的文件名保存文件。如何通过在Xamarin.Forms中打开filesave对话框来请求用户保存文件?

您必须自己实现文件选择器,没有内置的方法可以做到这一点,最好到GitHub去看看是否需要它


在我看来,只要弹出一个文本框,让用户输入一个文件名,用正则表达式或其他东西验证文件名,然后用该文件名保存文件,你就可以很容易地实现你的目标,你甚至可以保存文件,并给他们一个选项,通过列出所有文件名来重命名文件,但这对我来说太宽泛了,无法给你一个准确的实现,所以我能为你做的就是告诉你做你想做的事情的简单方法。

选择文件后,你只需打开带有“条目”的弹出窗口,并使用条目文本保存文件。您可以使用“Rg.Plugins.popup”打开弹出窗口

您解决了吗?您能发布您的解决方案以备不时之需吗?
这个问题可以满足您的要求,它使用这个插件:Xam.plugin.filepicker

下面是使用Rg.Plugins.popup最简单的弹出页面
政务司司长:

其xaml:

<StackLayout VerticalOptions="Center" HorizontalOptions="FillAndExpand" Padding="20, 20, 20, 20">
<StackLayout BackgroundColor="White" Padding="10, 10, 10, 10">
  <Label x:Name="PopupTitle" Text="PromptPopupTitle" TextColor="Gray" FontSize="20" HorizontalOptions="Center" />
  <ScrollView>
    <StackLayout>
      <StackLayout Orientation="Horizontal">
        <Label x:Name="PopupText"
               HorizontalOptions="FillAndExpand"
               HorizontalTextAlignment="Center"
               TextColor="Gray"></Label>
      </StackLayout>
      <StackLayout Orientation="Horizontal" HorizontalOptions="FillAndExpand">
        <Button Text="{i18n:Translate PopupButtonCancel}" Clicked="OnCancel" HorizontalOptions="FillAndExpand"></Button>
        <Button Text="{i18n:Translate PopupButtonOk}" Clicked="OnOk" HorizontalOptions="FillAndExpand"></Button>
      </StackLayout>
    </StackLayout>
  </ScrollView>
</StackLayout>

进一步的深度支持:

实际上我正在生成一个pdf文件,我正在使用依赖项服务的ISave界面使用一些硬编码的名称保存文件,但我的要求是使用用户定义的文件名保存文件,就像它应该打开一个保存对话框并从设备访问文件夹一样。上面的链接显示了windows中的savedialog,但我想在手机上用那种格式保存文件。你能帮我吗。提前感谢android平台中没有本机文件保存选择器,我们需要自行实现,您可以查看xamarin.android项目,因为您使用的是xamarin.Forms,您可能还需要使用自定义渲染器来创建自己的视图。。。
<StackLayout VerticalOptions="Center" HorizontalOptions="FillAndExpand" Padding="20, 20, 20, 20">
<StackLayout BackgroundColor="White" Padding="10, 10, 10, 10">
  <Label x:Name="PopupTitle" Text="PromptPopupTitle" TextColor="Gray" FontSize="20" HorizontalOptions="Center" />
  <ScrollView>
    <StackLayout>
      <StackLayout Orientation="Horizontal">
        <Label x:Name="PopupText"
               HorizontalOptions="FillAndExpand"
               HorizontalTextAlignment="Center"
               TextColor="Gray"></Label>
      </StackLayout>
      <StackLayout Orientation="Horizontal" HorizontalOptions="FillAndExpand">
        <Button Text="{i18n:Translate PopupButtonCancel}" Clicked="OnCancel" HorizontalOptions="FillAndExpand"></Button>
        <Button Text="{i18n:Translate PopupButtonOk}" Clicked="OnOk" HorizontalOptions="FillAndExpand"></Button>
      </StackLayout>
    </StackLayout>
  </ScrollView>
</StackLayout>
var page = new PromptPopup("title", "text");
page.Oked += Page_OkedLogout;
page.Canceled += Page_CanceledLogout;
await PopupNavigation.PushAsync(page);