Is it possible to develop a Prism 4 app and then use it both as a WPF app and a Silverlight app?
If not what is involved in converting it from WPF to silverlight?
Yes it's one of prism goals. Take a look at article 'Building WPF and Silverlight Applications with a Single Code Base Using Prism'
Related
Can both WPF and Windows forms controls be used within one application? How difficult or practical an idea is this?
It is fairly straightforward to host WPF controls in a WinForms app with an ElementHost adapter or WinForms controls in a WPF app with a WindowsFormsHost adapter. There are not too many resources on the web showing how to do either of these, however. In the process of learning how to do this for myself I quickly discovered the inherent symmetries between the two pathways. I distilled all my notes into an article comparing and contrasting these symmetries using a unique approach: the article is really two side-by-side articles, comparing every step in detail, starting from creating a user control in one technology to hosting it in an application in the "opposite" technology. My article, published on SimpleTalk.com in August 2010 is available here: Mixing WPF and WinForms.
For completeness, here are a couple good MSDN references, one for each pathway. In fact, the demo solution accompanying my article started from both of these:
Hosting a Windows Forms Composite Control in WPF
Hosting a WPF Control in Windows Forms
I believe there is a WindowsFormsHost control you can put in your WPF apps which will do interop back to WinForms code:
http://blogs.msdn.com/ivo_manolov/archive/2007/07/26/wpf-win32-interop-part-1-hosting-winforms-controls-in-wpf-windows.aspx
We hosted significantly complex WPF controls in an existing LOB WinForms app. It can be done, but we did have issues (some no doubt caused by the steep learning curve). These primarily had to do with loss-of-focus events not being fired when expected, and also keyboard navigation issues.
You can also use an HWNDSource and HWNDHost controls to embed WPF controls in a WinForms (or any Win32, really) app.
When hosting non-WPF content (Be it HTML, WinForms, or Win32 content), you will haveAirspace issues. This means you can't completely compost the WPF content with the hosted content. You also can't animate it etc. There are some interesting issues with respect to scrollviewers see here for more details and a fix also.
Yes you can, both Windows Forms within a WPF application, and WPF controls within Windows Forms. www.novamind.com's mind-mapping application is a successful mix of the two technologies.
Is it possible to create common controls that can be used for both UWP and WPF applications?
Tried digging over the .NET and found out that code can be shared across them using .NET Standard but what about XAML controls/UI ?
You can't directly use WPF controls in UWP apps, as there are many features of WPF XAML which are not yet available in UWP. So direct forward compatibility is not available here. Evenso, upgrading existing WPF controls to UWP should not be too hard, usually all it takes is to rewrite some parts of XAML but the actual business logic behind them can be ported 1:1, as most is covered by .NET Standard.
However, at Build 2018 Microsoft announced UWP XAML Islands functionality, that will allow developers to upgrade the UI of WPF apps to modern UWP design, including Fluent Design System features. In the near future you will be able to do this with all UWP controls (including custom), once the APIs are ready, but currently you can at least use the modern UWP WebView control in WPF, which is part of the Windows Community Toolkit.
I am new to wpf. Hence, kindly co-operate with my questions.
I want to build an app that runs on windows tablets. This is not to windows store app, rather, I will be developing this app for some company to visualize the data they have. And they will use this app on tablets or other touch enabled devices.
Background:
App will have some graphs and other visualizing diagrams. And WPF MVVM pattern will be used to develop the app.
My question:
My current system is:
System: HP elite book revolve 810 g2 tablet
.NET Framework: 4.0
Visual studio 2012
Can I develop a tablet app with the above specification?
where can i find coding documents on coding for touch devices in WPF mvvm pattern?
How can I use graph or any other visualization method in wpf. I mean, do I have any library that provides API's for different graphs?
Please help me in answering above.
Thank you
This questions will lead to long answers.. I´ll try to make it short!
The elite book revolve has an I5 and Windows 8 / 8.1. You should not have problems developing Widnows apps with that.
Visual Studio 2012 is fine as well, you might want to download the windows phone toolkit (if you want multiplatform apps).
You will need to use framwork 4.5 to develop Windows 8.1 RT apps though - and this is what you want to do if you want multi device apps. If not then it`s just normal Windows applications that can olny be runn on Windows devices (not Windows phone, or RT tablets)
It seems you are a starter in developing Touch apps.
2.1 Honestly you should consider buying a book before developing. The "Windows 8.1 Apps with XAML and C# Unleashed" one is really good
one - you can even read a good share of the first chapter with example code (see links below)!
2.2 I added a few links to ressources that could help you. Consider looking at MVVM, WPF and Touch coding independently. There are tons of tutorials available!
2.3. Doing touch support is pretty straightforward, it`s just another event handler (touchdown instead of mouseleftbutton down) so all you need is to know how to best handle events in MVVM (link attached below). Another thing is gesture support (see link)
Here is the standard library of xaml controls.. pretty basic but you can do a lot with them: https://msdn.microsoft.com/en-us/library/windows/apps/xaml/hh465351.aspx
if you need better /more graphical controls you might consider using Developer Express or similar APIs
heres a list of the graphic tools they provide. Pretty neat: https://www.devexpress.com/products/net/controls/winrt/
Theres also a WinRT XAML Toolkit available: https://winrtxamltoolkit.codeplex.com/ (Tutorial and Graph Preview see below)
Additional Links:
Windows 8.1 Apps with XAML and C# Unleashed (example with code):
http://ptgmedia.pearsoncmg.com/images/9780672337086/samplepages/0672337088.pdf
MVVM General developing: https://joshsmithonwpf.wordpress.com/a-guided-tour-of-wpf/
MVVM in Windows 8: https://msdn.microsoft.com/en-us/magazine/jj651572.aspx?utm_source=rss&utm_medium=rss&utm_campaign=mvvm-using-the-mvvm-pattern-in-windows-8
WinRT XAML Toolkit Tutorial (Windows Store example):
http://eren.ws/2013/10/15/using-graphs-and-charts-in-windows-store-apps-boredom-challenge-day-11/
Best way of event Handling in MVVM (needed for Touch event handling):
What's the best way to pass event to ViewModel?
I was watching that there's applications using this pattern. For example, Bewise.Cookbook is implementing MVVM framework from Galasoft.
I want studying some labs in Windows 8, but I have my doubts about using this pattern in Metro Applications.
Someone knows a good site where teach you using Win8 with MVVM?
MVVM has nothing particular in Windows 8. If you don't find any tutorials about using MVVM with Windows 8, try searching for tutorials about MVVM with Silverlight.
You can also check this:
An Address Book Application Made in MVVM For Metro Style App in Windows 8 (Part 1)
An Address Book Application Made in MVVM For Metro Style App in Windows 8 (Part 2)
I recommend StyleMVVM. It's an MVVM framework designed from the ground up for the Metro platform. It includes its own attribute based IoC, implementations for ICommand and attached command behaviors, as well as services for Tiles, Badges, Toasts and Settings Pane (charm flyout). It also supports all three languages (C#, C++/CX and HTML/JS).
To make things easy to get started there are a number of C# & C++/CX templates as well as a nice example weather app.
Look at the MVVM for Windows 8 library. It is very simple. You can add its NuGet package to your project. It also has an on-line project template for visual studio. So it is very easy to start. And it is library but not a framework, so you can use only features you like.
I am used to WPF Development. But recently, i am assigned to Windows Forms projects. Fortunately, application framework supports pluggable architecture and that's why i feel i can develop plugin in WPF.
If we safely assume that framework doesn't need more than a interface to detect a plugin, I have following questions:
First of all, is it a good idea to develop WPF plugin for the given scenario?
Are there any guidelines available which i should follow? Any Examples?
Will it be a good idea to design some abstraction layer specially for WPF plugins rather than depending on interface?
Thanks in advance.
Yeah, we have huge project called "Plugins" which is basically WPF App/Windows loaded via additional app domain.
I think in your case depends if you Windows Forms are in .NET 2 or .NET3.5. If it is .NET 3.5 then you dont need additional app domain to load .NET 3.5 with WPF.
If you are already in .NET 3.5 with your WinForms, then you can use ElementHost to host your WPF inside WinForms.
Apart from few glitches (like not repainting the form sometimes), it went quite smoothly in our case
As to your Qs:
Usually it is better to do everything in WPF, but do u have a choice ? (I dont think so)
Lookup an example on WPF ElementHost
Well, I would use MVVM with WPF so that later on you can chnage the UI bit (maybe Silverlight or Win8 metro) without chnaging much of the business layer logic