2017-05-04 19 views
-1

Ich versuche, eine Datei auf dem Gerät zu speichern. Das Problem ist, dass ich den Dateinamen von Codebehind hardcodiere.Xamarin Formen Xamarin Android

enter image description here

Meine Forderung ist Benutzer zu bitten, eine Datei mit benutzerdefinierten Namen für Datei zu speichern. Wie kann ich den Benutzer bitten, eine Datei zu speichern, indem er einen Filesavedialog in Xamarin Forms öffnet?

+0

Was Sie versucht haben, bereits? – Mazz

+0

Eigentlich im Erzeugen einer pdf und im Speichern der Datei mit einigen hardcoded Namen mit ISave Schnittstelle mit Abhängigkeitsdienst, aber meine Anforderung ist es, die Datei mit benutzerdefinierten Dateinamen wie es sollte ein Speichern Dialog und Zugriff auf die Ordner von Gerät .. – Rohan

+0

https : //googleweblight.com/i? u = https: //msdn.microsoft.com/en-us/library/windows/desktop/ms646960 (v% 3Dvs.85) .aspx & grqid = _aSRcGLW & hl = de-IN – Rohan

Antwort

0

Sie müssen die Dateiauswahl selbst implementieren, es gibt keine eingebaute Möglichkeit dies zu tun, am besten gehen Sie zu GitHub und schauen sich um, wenn Sie danach suchen.

Es klingt für mich wie Sie leicht erreichen könnten, was Sie suchen, indem Sie einfach ein Textfeld, einen Benutzer geben Sie einen Dateinamen, überprüfen Sie den Dateinamen mit einem Regex oder etwas und speichern Sie dann die Datei mit dieser Datei Deutsch:. Englisch: www.mjfriendship.de/en/index.php?op...39&Itemid=32 Du kannst die Datei sogar speichern und ihnen die Option geben, die Datei umzubenennen, indem du sie alle auflistet, aber das ist mir zu weit, um dir eine genaue Implementierung zu geben, also kann ich dir das Beste sagen einfache Art und Weise zu tun, was Sie tun möchten.

0

Nach dem Auswählen der Datei öffnen Sie einfach Popup mit "Eintrag" und speichern Sie die Datei mit Eingabetext. Sie können Popup öffnen mit "Rg.Plugins.Popup"

2

Haben Sie es gelöst? Können Sie Ihre Lösung posten?
Diese Frage Ihre Anforderungen passen könnte, verwendet es dieses Plugin: Xam.plugin.filepickerXam.Plugin.FilePicker Works fine but can't get file

Hier ist die einfachste popup Rg.Plugins.Popup
cs mit:

public partial class PromptPopup : PopupPage 
{ 
    public event EventHandler Oked; 
    public event EventHandler Canceled; 
    public PromptPopup(string title, string text) 
    { 
     InitializeComponent(); 
     PopupText.Text = text; 
     PopupTitle.Text = title; 
    } 

    private void OnCancel(object sender, EventArgs e) 
    { 
     this.Canceled(sender, e); 
     PopupNavigation.PopAsync(false); 
    } 
    private void OnOk(object sender, EventArgs e) 
    { 
     this.Oked(sender, e); 
     PopupNavigation.PopAsync(false); 
    } 
} 

seine 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> 

(diese Seite stammt aus einem PopupPage statt Content)

und Sie es wie dieser

var page = new PromptPopup("title", "text"); 
page.Oked += Page_OkedLogout; 
page.Canceled += Page_CanceledLogout; 
await PopupNavigation.PushAsync(page); 

weiter tief Unterstützung anrufen: https://github.com/rotorgames/Rg.Plugins.Popup