Do any of the Windows system applications use WPF? - wpf

Context: I am looking for examples of popular applications that use WPF for their UI.
With Windows 8 and Windows 10, certain parts of the OS got a new 'look-and-feel', for example:
The system settings dialog
The taskbar and the start menu
The calculator app
The task manager
Do those or any other Windows system applications use WPF for their UI?
This question already provides a list of existing applications that use WPF: What real world WPF applications are out there?. However, I would like to know if there are any builtin Windows system applications that use WPF.

None of those applications use WPF. Instead they use UWP, which was inspired by WPF, but is quite a different framework underneath.
There are WPF applications in many default Windows installations, though. For example, the PowerShell ISE is one.

You could try Snooping them to find out - It's not been updated for several years but I tried it on a splinter new 4.6 app I'm developing and it's detecting it and works fine. Whatever it can detect is certainly a WPF app - the inverse is not true however.
That being said it did not detect calculator or task manager for me.

Related

How to port C# applications from windows for linux?

Windows.Forms library contain many bugs which effectively prevent applications from working. WinForms Designer is unable to put WebBrowser control on form. NotifyIcon class doesn't work under LXDE (see the bugtracker of KeePass). Clipboard class is incompatible with default manager of Calculate Linux. Drag and Drop have problems in DockPanelSuite. WinForms Designer is not finished because of opacity problems. WPF was never implemented and no plans to do it.
And mono team says "we don't want to develop WinForms, because this is old technology."
How should one port desktop C# application from Windows to Linux? Rewriting it with Gtk# seems to be too hard...
What is easier - to fix mono WinForms, to implement WPF, or to rewrite all applications in the world to Gtk# ?
As you have already found out Mono WinForms implementation is suitable only for very simple applications. Take a look at "Cross-Platform Desktop UIs" blog post from Xamarin employee Mike James who summarizes available solutions:
Traditional approach
WPF or WinForms frontend on Windows, GTK# frontend on Linux and Xamarin.Mac on Mac OS X. IMO this is the best way to go and it may be easier than it looks if you have correctly separated business and presentation layers in your app.
XWT
XWT toolkit uses the same API and provides native look on all platforms but only a limited subset of components is implemented. Its usability for your projects depends on what components you really need.
HTML frontend
Create HTML frontend using simple WebView component or Awesomium HTML UI Engine. This may be a viable option in some cases but I am not sure whether it is possible to implement systray icons with this approach.
QTSHARP
Open source project which aims to implement .NET bindings for multiplatform QT toolkit. I have never tried it but according to project website it seems to be in early stage and currently tested only on Windows.
BTW I am currently using WinForms for Pkcs11Admin application but I plan to use traditional approach as soon as I hit a blocker bug on any of the supported platforms.

UI development for windows (desktop + web application) and windows CE

I am working on a project where there is requirement of GUI to be created in Silverlight. Some key requirements are:
Extremely rich GUI
Real time visualization process graphics
Support multiple themes
Support different display size
Support charting / trending controls
Same functionality for Desktop / Web using same code base
Same functionality to be available on embedded controller (based on Windows CE)
I understand that using Silverlight we can have same codebase for desktop / web applications. However challenge is to have the Silverlight application (windows and/or web) for Windows CE. I would like to understand what is the best way to implement Silverlight application on Windows CE with as much code reuse as possible.
I would appreciate if you could provide some inputs on what should our architecture approach be for this application development. Also, please let me know if you need more inputs on the requirement side...
"Silverlight" for Windows Embedded (SWE) is a bad name. It's not really what most would call Silverlight. It's simply a XAML-based engine that you can use Blend to develop for. For Windows CE, you must use C++ to develop for SWE. You cannot reuse SWE assemblies in other Silverlight projects. You cannot use other Silverlight assemblies in an SWE project. Your XAML itself will probably have some reusability, but XAML sharing from a code perspective is a challenge in its own right.

Coexistence of Windows Forms and WPF

I need to make an application compatible with the all NET Framework: 2, 3, 3.5 and 4.
In addition I want to develop an application that when performed with a PC that has only installed Framework 2 the GUI is made with Windows Forms, but if the PC is using the Framework 3, or later, the GUI is done with WPF.
I have developed an application with NET 2 and Windows Forms.
I tested this application with NET 3, 4 and 3.5 and it works correctly.
I recently updated the GUI with WPF, these changes were simple, because I developed the interface with the databinding paradigm.
This choice has allowed me to switch from Windows Forms to WPF easily.
I overcame the problem of creating a single application (for Windows Forms) to be performed with any framework using this guide: http://msdn.microsoft.com/it-it/library/w671swch%28v=VS.100%29.aspx.
Now I wanted to make sure that if the PC was the NET 3.5 or higher installed the application using the GUI made with WPF.
I tried to follow some guidelines, such as: http://msdn.microsoft.com/it-it/library/433ysdt1.aspx, but unsuccessfully.
I am very confused about how to proceed.
The application should not install anything on the PC, just use what is there.
Thanks in advance,
Talao.
If your application needs to be compatible with all of those versions then what you're really saying is: it needs to be a .NET 2 application. A .NET 3 (or higher) application simply won't work otherwise, because it won't find the assemblies it needs at startup.
That said, since .NET 3 is built on .NET 2, I'm sure you could find a way to dynamically load the .NET 3 assemblies if the framework is available. This isn't going to be pretty, though.
Even if you manage this, however, the fundamentals of an application are very different under WinForms and WPF, so you'll find you're rewriting a lot of code. Simply replacing the View of an MVC application isn't likely to be enough (unless you're willing to write some really complicated views...).
My suggestion would be either to write two applications or - for preference - write it in .NET 4 and include the framework as part of your installer. Assuming this is a commercial application then it's either that or just stick with WinForms - I can't imagine the development overhead is likely to be worthwhile.
The simplest solution I can think of is to develop the GUI using MVC/MVP pattern. Where the view is either a Winform form or a WPF form. You then developed each view as a WinForm Form and as a WPF form.
At startup of the application, call Environment.Version to get the framework version. Based on this version you can tell the application to load with WPF or Winform views. If greater than or equal to the 3.5 framework, use WPF, else use WinForm views.
The other approach is using compatible controls, where you can put WinForms inside WPF controls, however you lose the power of WPF by doing so, so this is only good to bring in a few WinForm controls to a mostly WPF application.
Did you consider creating multiple applications, one for each user interface? If you have business logic and user interface separated, than this should not be much of a problem.
Then installer analyzes target system and determines which executable, Winforms or WPF, is going to be installed.

Question regarding WPf/Silverlight/Windows Phone7 Developemt

I have experience coding in C# (console and Windows Form applications). For something to do in my free time, I've been intending to pick up another language, and have my sights on something thats a little more content rich. However, I'm confused about the following:
Windows Forms are used to develop GUI applications for windows. What is WPF and how is it different from Windows Forms
Does Windows Phone development use C#, or exclusively Silverlight? Or does it just use the .NET framework, and you can use either of the two?
Adding to other answer(s):
WPF uses an XML-based markup called XAML to describe the UI, like HTML does for a web page. The XAML file is paired with a "code-behind" (.cs or .vb) file that is compiled together when the app is built. Adding an XML element to the XAML file is equvalient to declaring an object in the code-behind file. For many classes, you can choose to do one or the other.
Use can use C# or VB.NET language to write Windows Phone apps (although currently only C# is available in the free Visual Studio Express that comes with the Windows phone tools on App Hub). Silverlight is a subset of the .NET Framework, whose classes can be used to write phone apps. You can also use the XNA libraries to develop phone applications.
I HIGHLY recommend Charles Petzolds free ebook for more. He does a great job of explaining this in the first couple chapters: http://charlespetzold.com/phone/index.html
Hope that helps!
Win Forms are a light object oriented wrapper around the basic Win32 GDI primitives.
WPF and Silverlight do their own rendering, don't use GDI and are built on XML-based layout and the MIL.
Windows Phone Development uses Silverlight with C#. The WP7 version of Silverlight runs on a modified version of Silverlight 3, which in itself uses a modified/minified .NET framework. So WP7 development uses all of what you mentioned in question 2.
I can't give a much better answer than #jeffmaphone for question 1, so please look at his response.
Windows Phone 7 uses Silverlight for the UI but the code can be C# or VB. This page of Code Samples for Windows Phone has both but:
In order to build and run Visual Basic samples, you must install additional developer tools. For more information, see Installing Windows Phone Developer Tools.
For more information see the Windows Phone 7 Developer Guide
1) Windows Forms is one method to develop GUI apps for Windows, WPF is another (for Vista, 7 and XP SP2). In general, Windows Forms is great for simple, quick and dirty applications, while WPF works well for more complex and flashy applications.
2) Windows Phone uses Silverlight for non-game applications and XNA for games. In both cases, you can use C# as the logic layer. In other words, C# code decides where to put things in the UI, while Silverlight or XNA are different ways of talking to a display.
Be careful about searching for Silverlight tutorials, because not all of Silverlight is on the phone.
Here are my suggestions:
1) Check this discussion :WPF versus Winforms
2)Generally Windows Phone 7 supports two frameworks for developing applications– Silverlight and XNA. Check MSDN for reference:
The Silverlight and XNA Frameworks for Windows Phone
Features Supported in Silverlight for Windows Phone
PS: One of the best resource for Silverlight development is the official Silverlight web site: http://www.silverlight.net/

Which Graphical Subsystem for Touchscreen Kiosk Development

I'm starting a hobby project in which I would like to have a graphical, touchscreen interface for interacting with a kiosk-like device running on top of Windows XP Embedded. For development of a rich UI experience, I was considering using WPF. However, a number of demonstration videos that I have come across have used Silverlight, while I haven't seen a single WPF demonstration.
It was my understanding that Silverlight was targeted towards website developers, while WPF was more targeted towards desktop development.
So this question has two parts. Firstly, what is the recommended graphical subsystem for development of a rich UI experience on a kiosk-like device hosted on the Windows XP embedded platform? Secondly, if it is Silverlight, which version is suggested (1.0 or 2.0) and why?
It seems that WPF works fine on embedded. See here the second comment.
I think that your choice should be dependent on the type of kyosk you want to build. Some kyosks are just an open browser page. And then you have stuff like Microsoft Surface that can be used like an horizontal kyosk :-)
I would recommend also WPF, have done few kiosk apps using it.
also I would recommend http://fpscomponents.com/Product.aspx?id=8 as a virtual touch screen keyboard software component. it's done in WPF and very flexible and customizable.
User can define custom theme(skin), layout and language of keyboard. guys are working with customers and hear theirs voice so any suggestions might be accepted.

Resources