
Ergebnis 1 bis 10 von 10
-
Bin neu hier
- 10.02.2013, 10:36
- #1
Hallo zusammen
Ich bin neu in der Windows Phone entwicklung und habe 2 Fragen:
Wenn ich per IsolatedStorage versuche, ein Verzeichnis zu verschieben, erhalte ich folgende Exception: Operation not permitted.
Dabei ist es egal, ob das Zielverzeichnis bereits existiert oder nicht.
Erstellen, Öffnen und Löschen von Verzeichnissen und Dateien funktioniert, daher müsste das Storage Objekt korrekt instanziert sein.
Mein zweites Problem betrifft ein Kontextmenu auf Items in einem Wrappanel.
In meiner App werden Bilder gespeichert, welche ich anschliessend in einem Wrappanel anzeige.
Nun möchte ich ein Kontextmenu auf diese Bilder setzen, damit diese gelöscht und evtl. weitere Aktionen darauf ausgeführt werden können. Die Bilder werden dynamisch erstellt und dem Panel hinzugefügt.
Da ich mich mit XAML bisher kaum auskenne, habe ichs nicht hingekriegt.
Kennt jemand eine Seite, wo dieses Problem oder ähnliches erklärt wird?
-
Gehöre zum Inventar
- 10.02.2013, 11:05
- #2
Ich würde das ja vermutlich so machen, dass ich das Kontextmenü der Page hinzufüge und bei OnLongPress des Bildes ein Event nach draußen Route dass dann das Kontextmenü öffnet und halt beim Ausführen des Delete abprüfen welches Bild die ursprüngliche Source war.
Zum Thema verschieben eines Ordners im IsolatedStorage kann ich jetzt gerade auch nichts sagen, das hab ich noch nie probiert - evtl. passt irgendwas nicht dabei wie du den Pfad angibst? Von wo nach wo probierst du denn zu verschieben?
-
Bin neu hier
- 10.02.2013, 11:15
- #3
also eigentlich möchte ich das Verzeichnis umbenennen, da diese möglichkeit allerdings nicht besteht, wollte ich es verschieben und das alte, falls noch nötig, löschen.
Möglicherweise funktionierts nicht, da ich unterschiedliche Verzeichnisnamen angebe. Eigentlich sollte es im selben Verzeichnis bleiben, nur halt mit einem anderen Namen.
Danke für den Hinweis mit dem Kontextmenu, werde ich so mal versuchen.
-
Gehöre zum Inventar
- 10.02.2013, 13:02
- #4
Ich verstehs noch immer nicht ganz... Du hast also ein Verzeichnis im IsolatedStorage mit Namen A und das soll jetzt B heißen. D.h. du rufst auf mit den Parametern A und B um das eben zu verschieben/umzubenennen? Oder geht's um die Dateien im Verzeichnis?
Kannst du mal den Code von der Methode in der du das machst posten, dann kann ich mir das mal ansehen.
-
Bin neu hier
- 10.02.2013, 14:05
- #5
Genau.
Das sind die Codezeilen:
Code:myIsolatedStorage.CreateDirectory(txtGroupName.Text); myIsolatedStorage.MoveDirectory(oldGroupName, txtGroupName.Text); myIsolatedStorage.DeleteDirectory(oldGroupName);
Bei der Zeile mit dem Move erscheint der Fehler.
-
Gehöre zum Inventar
- 10.02.2013, 15:09
- #6
Ok, da liegt der Fehler: was du verschieben würdest wäre ja das ganze Directory - nicht jedoch dessen Inhalt. D.h. du legst hier B an und versuchst dann A nach B zu verschieben. B gibt es aber schon (hast du ja gerade angelegt). D.h. lass einfach CreateDirectoy und DeleteDirectory weg und alles sollte so klappen wie du dir das vorstellst.
Bevor jetzt die Frage kommt wieso es dann Move heißt statt Rename: Du könntest ja das Verzeichnis auch in irgendein Unterverzeichnis verschieben (also nicht dasselbe) - beim verschieben im selben Verzeichnis ist es aber eigentlich einfach ein Rename.
-
Bin neu hier
- 10.02.2013, 16:18
- #7
Das Funktioniert leider nicht.
Liegt es möglicherweise, dass die Pfadangaben relativ und nicht absolut sind?
Also relativ zum Rootverzeichnis.
-
Gehöre zum Inventar
- 10.02.2013, 23:32
- #8
Möglich dass das auch noch ein Problem darstellt - aber das lässt sich ja recht einfach ausprobieren.
-
Bin neu hier
- 11.02.2013, 18:40
- #9
klappt irgendwie auch nicht.
Ich lasse ansonsten mal das umbenennen.
Vielen Dank für deine Mühe
-
Gehöre zum Inventar
- 11.02.2013, 20:53
- #10
Ich habe jetzt einfach mal eine kleine Testanwendung geschrieben die eben in einem Unterordner eine Datei erstellt und dann den Ordner verschiebt um zuletzt den Text aus der Datei wieder auszulesen.
Bei der Methode hinter dem ersten Button verwende ich auf dem Stream eine using-Klausel, damit der Stream bei verlassen des Blockes Disposed wird => geschlossen. Bei der zweiten hingegen mache ich das nicht => der Stream bleibt offen und damit bekomme ich dann genau deine Fehlermeldung.
Im Ergebnis ist in deiner App also noch irgendwo eine Datei aus dem Verzeichnis geöffnet und damit dann auch das Verschieben nicht möglich. Wenn du da Bilder drinnen geöffnet hast, dann gehören die wohl erst mal sauber entsorgt bevor du das Verzeichnis verschieben kannst (ist jetzt mal so meine Theorie). Das Projekt dass ich da gebastelt habe findest du im Anhang.
PhoneTestApp.zip
Ähnliche Themen
-
Bild aus IsolatedStorage wird nicht in der View angezeigt
Von Johann im Forum Windows Phone 7 EntwicklungAntworten: 10Letzter Beitrag: 09.03.2012, 20:27 -
[Erledigt]: ListBox und Kontextmenü: kein selektiertes Item
Von EddieDean im Forum Windows Phone 7 EntwicklungAntworten: 15Letzter Beitrag: 24.01.2012, 20:54 -
toolkit:WrapPanel.Background in C# ändern
Von quotschmacher im Forum Windows Phone 7 EntwicklungAntworten: 9Letzter Beitrag: 30.07.2011, 15:12 -
Kontextmenü ändern
Von anxifer im Forum HTC HD2 SonstigesAntworten: 1Letzter Beitrag: 20.01.2010, 21:42 -
ActiveSync,spezielles Verzeichnis auf TP2 und PC synchronisieren
Von Stefan3110 im Forum HTC Touch Pro 2Antworten: 2Letzter Beitrag: 19.12.2009, 17:27
Pixel 10 Serie mit Problemen:...