Welcome to the new FlexRadio Community! Please review the new Community Rules and other important new Community information on the Message Board.
Need the latest SmartSDR, Power Genius, Tuner Genius and Antenna Genius Software?
SmartSDR v3.8.19 and the SmartSDR v3.8.19 Release Notes | SmartSDR v2.12.1 and the SmartSDR v2.12.1 Release Notes
SmartSDR v1.12.1 and the SmartSDR v1.12.1 Release Notes
Power Genius XL Utility v3.8.8 and the Power Genius XL Release Notes v3.8.8
Tuner Genius XL Utility v1.2.11 and the Tuner Genius XL Release Notes v1.2.11
Antenna Genius Utility v4.1.8
SmartSDR v3.8.19 and the SmartSDR v3.8.19 Release Notes | SmartSDR v2.12.1 and the SmartSDR v2.12.1 Release Notes
SmartSDR v1.12.1 and the SmartSDR v1.12.1 Release Notes
Power Genius XL Utility v3.8.8 and the Power Genius XL Release Notes v3.8.8
Tuner Genius XL Utility v1.2.11 and the Tuner Genius XL Release Notes v1.2.11
Antenna Genius Utility v4.1.8
If you are having a problem, please refer to the product documentation or check the Help Center for known solutions.
Need technical support from FlexRadio? It's as simple as Creating a HelpDesk ticket.
Need technical support from FlexRadio? It's as simple as Creating a HelpDesk ticket.
Windows Presentation Foundation
Mark Erbaugh
Member ✭✭
In the current FlexAPI download there is a C# project UiWpfFramework. I assume that this is to support Windows Presentation Foundation applications. Are there any sample code or documentation on the routines (other than the Doxygen auto generated stuff)?
If you are developing a FlexAPI with a Windows GUI are you using WinForms or WPF? Which do you recommend for a new project?
If you are developing a FlexAPI with a Windows GUI are you using WinForms or WPF? Which do you recommend for a new project?
0
Answers
-
Hi Mark,
It is always a tough call to decide on the framework to use.
I don't know of any docs on the WPF routines provided by Flex but I think their functions are fairly clear. I am fairly sure you could ask specific questions and someone from Flex development would have an answer.
I think the decision on which framework to use from M$ depends upon what you want to do. Here is my take:
WinForms - This is what FRLogger is written in because I needed to develop it quite fast. I find that WinForms development is about 3x faster than WPF. Although you can cheat in WPF and save some time.
WinForms lacks the nice data binding that WPF provides. Frankly this data binding can be very handy if you plan to have lots of similar data displaying in lots on different views. You can reuse views, bind once to one data provider for all of them. In WinForms you must populate your controls manually.
There are binding libs for WinForms but I have never tried to use them.
So the decision on WinForms versus WPF, versus say a console app really depends upon your needs. I do find that WPF and UWP both add about 4x to the development since to do it right you need to futz with XAML and create view models for everything.
If you have a very complex app then all that separation can be a good thing as WPF sort of pushes you towards the separation. It is any in WinForms to mix responsibilities since you can just do stuff inside of button click events.
I spent many years developing in Delphi which is very much like WinForms. We created very complex multi-threaded super responsive apps. It just takes planning and careful coding.
I find that WPF while powerful and you can do some incredible things has a steep learning curve on the XAML side of things. It is not intuitive to lay out a window.
The last thing I will add is that there are only a very few things you can do with WPF that you cannot do easily with WinForms.
Also WinForms and WPF are not being updated and maintained. The big thing is UWP which I work in at work but absolutely hate.
Just my 2c
Mark - WS7M1 -
Mark,
Thanks for the reply.
My last serious Windows GUI app development was done 10+ years ago, also in Delphi. I can't see much use for data binding in my FlexAPI app nor for , so it sounds like WinForms might be the way to go.
I have created some very simple test apps forFlexAPI with both WinForms and WPF.
I've not tried UWP, but I just started the download to add that to VS. With my slow internet, I won't be able to try it until tomorrow.
73,
Mark - N8ME
0 -
Mark's (WS7M) explanation is right on. I'll just add that if the app is just for yourself then definitely use WinForms, much easier and quicker. Also easier to get help. If you prefer the geekier side of programming then try WPF. As far as UWP I can't tell you much. I retired from professional programming about the time it showed up. Now I mostly program on the Mac in Swift. I still do some WinForm apps for ham radio friends though.0
-
It looks like out of the box UWP and FlexLib is a no-go. I created a UWP solution and added the FlexLib, UiWpfFramework, Util and Vita projects to it, but when I tried to add a reference to FlexLib (or any of the others) to my UWP solution, VS complained that it can't add a reference.0
-
Hi Pete, Mark,
It is possible to use FlexLib with UWP but you have to do some work wrapping it with some various things.
Another thing UWP is trying to do is to make Windows programs safer by restricting what the program can do. Like writing files, connecting to internal network things, etc. Personally I think it is strange and while I have to use it at work I don't really like it.
As Pete said, for personal use WinForms will work best.0 -
UWP programs can not use .NET Framework libraries. Remember there is .NET Core, .NET Framework, and .NET Standard. A .NET Framework program can use the .NET Standard library but not the other way around.0
Leave a Comment
Categories
- All Categories
- 289 Community Topics
- 2.1K New Ideas
- 534 The Flea Market
- 7.5K Software
- 6K SmartSDR for Windows
- 146 SmartSDR for Maestro and M models
- 360 SmartSDR for Mac
- 249 SmartSDR for iOS
- 230 SmartSDR CAT
- 172 DAX
- 352 SmartSDR API
- 8.8K Radios and Accessories
- 7K FLEX-6000 Signature Series
- 26 FLEX-8000 Signature Series
- 850 Maestro
- 44 FlexControl
- 847 FLEX Series (Legacy) Radios
- 796 Genius Products
- 416 Power Genius XL Amplifier
- 277 Tuner Genius XL
- 103 Antenna Genius
- 243 Shack Infrastructure
- 166 Networking
- 404 Remote Operation (SmartLink)
- 130 Contesting
- 631 Peripherals & Station Integration
- 125 Amateur Radio Interests
- 870 Third-Party Software