I have this WPF app and I want to have there function of getting a directory path from the user. I would like to use some folder browser dialog but I don't want to implement it from System.Windows.Forms or use some huge script inside. Is there some path getting dialog in WPF already implemented?
I have read answers to similar questions here but it was full of System.Windows.Forms..
I haven't found anything like that in the Toolbox and I'm starting with WPF so I could use some help.
Thank you in advance :]
See my answer to Select folder dialog WPF. Basically the Windows Presentation Foundation 4.5 Cookbook recommends that you use the Windows® API Code Pack for Microsoft® .NET Framework if you need a folder browser.
we use Ookii Dialogs in our projects. They have the windows-look and feel and the typical options for filtering etc.
There are no standard native WPF dialogs for what you are looking for, simply because the System.Windows.Forms dialogs are nothing more than wrappers to the system ones. So creating a WPF wrapper makes no sense and will only add to the confusion.
The Ookii Dialogs for WPF library has a VistaFolderBrowserDialog class that provides a complete implementation of a folder browser dialog for WPF.
https://github.com/augustoproiete/ookii-dialogs-wpf
There's also a version compatible with Windows Forms apps
Related
I'm trying to add those big buttons to my project.
How are they called? Are they even part of .NET Framework?
I haven't been able to find much, but I was able to find a guide on how to make a Windows Aero Style Wizard Control which suggests that this style isn't easily accessible in .NET. I think you should check it out and see if there is anything you'd want to use.
As (as far as I know) there are no resources built into the .NET Framework for creating Windows Aero style forms easily, the aim of this project was to provide access to a (or some) classes that the user can use to create themed forms easily.
Is it possible to add custom buttons (or) User defined buttons inside Message Box in Visual Studio Windows Forms application ?
Here's a quick guide to making a custom dialog box, which is going to be the ideal solution for you in this scenario, in my opinion.
The simple answer is: no it's not.
The long answer is that it's not possible using the managed API but it may be possible using the Win32 API. Here's a good tutorial on using Windows Hooks to customize the operating system message box dialog.
The .net MessageBox class does not offer such functionality. However, the native Win32 API does so through the TaskDialog API. The main advantage of this approach, as opposed to writing a custom dialog, is that you will be using a native system component and so your dialog will feel at home on the platform.
A very simple example of the task dialog looks like this:
And there is lots of scope for much more complexity, as is explained in the link above.
You'll need to p/invoke to this function. It's one of the more messy functions to call so expect a little work before you have a working solution. You can find some C# code to wrap it up here, but I can't say that I personally have experience of this.
I created another WPF project in my asp.net project solution and now want to use my WPF controls in my web application. Is it possible to use wpf control in my web projects?? I figure out on internet some says like you have to use Silverlight for web applicaitons. As far I know silverlight is subpart of WPF, so why not i can use WPF??. I have to use WPF controls because already did enough efforts to build wpf controls and now wanna to use in Web application.
Yes, you can embed WPF controls in a webpage, but you'll need the relevant plug-in enabled (much like Silverlight).
As an example the Xceed Datagrid for WPF is viewable within Internet Explorer.
Although XAML applications are disabled by default, you'll need to enable them in your Internet Explorer security settings.
As for Firefox, you'll need both the .Net Framework Assistant, and WPF Plugin as suggested by MSDN.
WPF is a really great framework, and enabling WPF/XAML based applications for intranet usage would be fine (you could inherit the security permissions through group policy), or for a set audience who don't mind the extra configuration.
The only way you can achieve that is by using Silverlight components not WPF. As you said silverlight is a subset of WFP, so not all WPF features are supported but the silverlight runner. For the most part, the visuals are fully compatible, that is user controls, so if you did not use anything that is specific to WPF then you should be grand.
maybe check here:
WPF vs Silverlight
BTW can you post your xaml, so that we get an idea?
Marco
I believe you can use the XML WPF Browser application to do this, but I'd probably not recommend it, as I think your users will have to download client-side components in order for it to run. The following link gives more info.
http://msdn.microsoft.com/en-us/library/aa970060.aspx
No you cannot use WPF in a web page. WPF is for Windows Applications and will only run on Windows machines. The internet is device agnostic and will run on Windows, Linux, Android, iOS etc. Therefore you need to use ASP .NET (or similar) for web applications and WPF for Windows.
Silverlight is a sub-set of WPF and will work on a web page... BUT not all devices support it (i.e. iOS). So if you really want to be system agnostic and true to the spirit of the web use HTML / CSS and JavaScript.
Whatever it is possible or not, the using of WPF controls embedded in a html page is just horrible.
A classic WPF control might be running (after changed browser settings), but there are many security concerns. Furthermore you have to show your users a to do list before anyone could see the real page.
Silverlight as a subset of WPF, but it is also a plugin that is not available for all platforms such as, for instance, iOS.
I recommend to use HTML 5, which is a per se standard and viewable on all other platforms. It causes more effort, but is is definitely worth it.
Although there are ways to do this (already mentioned by other users on this page), relying on your visitors to have this configured or plugins installed in their browsers means it's very risky to implement this (assuming your target is the WWW and not just local users).
I would consider building a web application UI and just reference everything via class libaries (if using N Tier design)
Is there a way to have a Windows Explorer on WPF? The closes I can get is the Web Browser, but it's not really what I need.
Please assist.
Thanks
Check these out -
http://www.codeproject.com/KB/WPF/WPF_Explorer_Tree.aspx
and
http://gargmanoj.wordpress.com/2009/03/27/wpf-101-a-simple-windows-explorer-like-directory-browser/
JAM Software recently released a WPF edition of their ShellBrowser controls. They contain a wrapped Windows Explorer as well as custom built tree and list controls. Also included is a preview control similar to the one in the Windows Explorer on the right. Full disclosure: I am one of the developers of ShellBrowser.
Check out the explorer browser control in the Windows API Code Pack. Compatible with Vista and 7, I believe.
I have written a WinForms library that might help. It's not WPF but you can host it in a WPF application.
You can find the library at: http://gong-shell.sourceforge.net/
You can also check this out. It's fresh to the market and you'll need to pay, but it was designed to be identical in every way to the Windows Explorer Chrome:
http://www.teraque.com/products/explorer-chrome-suite/
The controls you get for free from WPF look like crap. They are only meant to get developers started.
I'm wondering what's the best option to display a pdf/doc document inside form in my c# winforms app.
This control should only allow do display preview. Edtiting documents should be forbidden.
I'm looking for free solution.
The best option would be to attach a few separate *.dlls to solution but it's not a requirement.
Consider using the preview handlers for Vista, Windows 7.
I used the code provided by Brad Smith (with corrections from the comments).
http://www.brad-smith.info/blog/archives/79 - Hosting Preview Handlers in Windows Forms Applications
An often suggested solution is to use a webbrowser component inside the form that views the PDF:
MSDN
Another approach is to use an ActiveX Control included with the Adobe Acrobat Reader but therefore you need a license from Adobe.
You can use Preview Handlers. There is a WPF Article over at CodeProject, which should be dead easy to translate to WinForms if you need it.