Okno dialogowe Otwórz katalog
Chcę, aby użytkownik wybrał katalog, w którym plik zostanie zapisany, który następnie utworzę. Wiem, że w WPF muszę używać
OpenFileDialogz Win32, ale niestety okno dialogowe wymaga wybrania pliku (i) - pozostaje otwarte, jeśli kliknę OK bez wybierania żadnego. Mogę „zhakować” funkcjonalność, pozwalając użytkownikowi wybrać plik, a następnie wyczyścić ścieżkę, aby dowiedzieć się, do którego katalogu należy, ale w najlepszym przypadku jest to nieintuicyjne. Czy ktoś to widział wcześniej?
Nie znaleziono powiązanych wyników
Zaproszony:
Aby odpowiedzieć na pytania, Zaloguj się lub Zarejestruj się
13 odpowiedzi
Anonimowy użytkownik
Potwierdzenie od:
FolderBrowserDialog
http://msdn.microsoft.com/en-u ... px... Nieważne, że znajduje się on w przestrzeni nazw .
Jeśli chcesz, aby okno było modalne w odniesieniu do jakiegoś okna WPF, zobacz pytanie na
jak korzystać z FolderBrowserDialog z poziomu aplikacji
https://coderoad.ru/315164/
WPF .
EDIT:
Jeśli chcesz czegoś bardziej dziwacznego niż proste, brzydkie formularze Windows FolderBrowserDialog, istnieje kilka alternatyw, które pozwalają zamiast tego użyć okna dialogowego Vista:
Anonimowy użytkownik
Potwierdzenie od:
Źródło XAML wygląda następująco:
i kod
Anonimowy użytkownik
Potwierdzenie od:
I przykładowy kod, jak pokazano poniżej.
Anonimowy użytkownik
Potwierdzenie od:
Dialogi Ookii
http://www.ookii.org/
przez chwilę i działa dobrze w przypadku WPF.
Oto prosta strona:
http://www.ookii.org/Blog/new_ ... alogs
http://www.ookii.org/Blog/new_ ... alogs
Anonimowy użytkownik
Potwierdzenie od:
Nie ma potrzeby używania dyrektywy, wystarczy skopiować i wkleić poniższy kod!
Powinien być nadal bardzo przyjazny dla użytkownika i większość ludzi nigdy tego nie zauważy.
Chodzi o to, że możemy łatwo zmienić tytuł tego okna dialogowego, ukryć pliki i ominąć wynikową nazwę pliku.
To z pewnością duży hack, ale może zrobi to dobrze do twojego użytku ...
W tym przykładzie mam obiekt Textbox zawierający wynikową ścieżkę, ale możesz usunąć powiązane linie i użyć wartości zwracanej, jeśli chcesz ...
Jedyne problemy z tym hackiem to:
Większość ludzi tego nie zauważy, chociaż zdecydowanie wolałbym użyć oficjalnego sposobu WPF, gdyby Microsoft wyciągnął im głowy z tyłka, ale dopóki tego nie zrobią, to jest moje obejście.
Anonimowy użytkownik
Potwierdzenie od:
(folderpathTB to nazwa TextBox, w którym chcę umieścić ścieżkę folderu, LUB u możesz przypisać ją również do zmiennej ciągu, tj.)
A jeśli chcesz uzyskać nazwę pliku/ścieżkę, po prostu zrób to za pomocą przycisku Kliknij
(folderpathTB to nazwa pola tekstowego, w którym chcę umieścić ścieżkę do pliku, LUB możesz przypisać ją również do zmiennej ciągu)
Uwaga: W przypadku okna dialogowego folder System.Windows.Forms.dll musi zostać dodany do projektu, w przeciwnym razie nie będzie działać.
Anonimowy użytkownik
Potwierdzenie od:
Okno dialogowe wyboru folderu WPF
https://coderoad.ru/4007882/
Anonimowy użytkownik
Potwierdzenie od:
dlaczego? ponieważ będzie zauważalne pogorszenie wydajności podczas korzystania z okna dialogowego winforms w aplikacji wpf (z jakiegoś powodu)
polecam ten projekt
https://opendialog.codeplex.com
https://opendialog.codeplex.com/
/
lub Nuget:
jest bardzo przyjazny dla MVVM i nie zawija okna dialogowego winforms
Anonimowy użytkownik
Potwierdzenie od:
W takim razie sposób użycia to:
Oto dokumentacja:
http://opendialog.codeplex.com/documentation
http://opendialog.codeplex.com/documentation
Działa dla plików, plików filtrowanych, folderów itp.
Anonimowy użytkownik
Potwierdzenie od:
Ookii jest tym, czego potrzebujesz.
>
Jeśli chcesz tylko przeglądarkę folderów z
Ooki dialogi
http://www.ookii.org/software/dialogs
i nic więcej
źródło pobierania
http://www.ookii.org/software/dialogs
code, zaznacz pliki, których potrzebujesz do przeglądarki folderów (wskazówka: 7 plików) i działa dobrze w .NET 4.5.2. Musiałem dodać link do . Porównaj linki w oryginalnym projekcie z Twoim.
Jak określasz, których plików potrzebujesz? Otwórz swoją aplikację i Ookii w oddzielnych wystąpieniach programu Visual Studio. Dodaj do swojej aplikacji i kontynuuj dodawanie plików, aż błędy kompilacji znikną. Zależności znajdziesz w projekcie Ookii - kliknij z wciśniętym klawiszem Control na ten, który chcesz prześledzić z powrotem do jego pochodzenia (gra słów zamierzona).
Oto pliki, których potrzebujesz, jeśli jesteś zbyt leniwy, aby to zrobić ...
Edytuj wiersz 197 w , jeśli nie chcesz umieszczać ich w <strike>
zgłoś nowy InvalidOperationException (Properties.Resources.FolderBrowserDialogNoRootFolder
</strike>
);
Dodaj informację o prawach autorskich do swojej aplikacji zgodnie z ich Kod w linii 160-169 jest przykładem, którego możesz użyć, ale musisz usunąć z dla WPF.
Działa na moim komputerze [TM]
Anonimowy użytkownik
Potwierdzenie od:
Anonimowy użytkownik
Potwierdzenie od:
Ale to się po prostu stało:
Korzystanie z FolderBrowserDialog w aplikacji WPF
https://coderoad.ru/4547320/
Dodaj link do i użyj tego kodu:
Nie ma potrzeby wyszukiwania brakujących paczek. Lub dodaj duże klasy
Daje mi to nowoczesny selektor folderów, który pozwala mi również utworzyć nowy folder
Nie widziałem jeszcze tego efektu podczas wdrażania na inne komputery
Anonimowy użytkownik
Potwierdzenie od:
Sprawdź poniżej.