Any way to use a designer for Xamarin Forms? - c#

I heard good stuff about Xamarin and I liked the idea of designing a page once and using it on all platforms. But the thing that bummed me down is the fact that I have to design the pages with C#, which is a nightmare in my opinion.
I would like to see what I design (I am thinking Expression Blend). Is there any way to use a designer for Xamarin.Forms projects?

I agree with Jon Skeet's comment..
Sadly in answer to your question the answer is No..
although they have just announced Xamarin Sketches which from my understanding is real time displaying of your code in their new android emulator. Whether it is going to be the same as a designer I don't know.
You can find more information here

Based on my observation of Mono/Xamarin products in the past years, they should have a XAML designer in the near future (considering the facts that they already have iOS/Android designers). Xamarin.Forms is still a new concept, so I suggest you be patient and wait for a few weeks (or months).
But note that XAML is in most cases editable in plain text editor. I recently did a lot of Silverlight programming, but I don't even have Expression Blend installed.
Like others commented, what you should avoid is to use C#. That's too difficult to maintain.

you could use the following IDE(paintcodeapp) to put your button and other staff and get generated code for Xamarin Forms.
http://www.paintcodeapp.com/

At Xamarin Evolve 2014, I heard (both privately and in a session) that coming was a "preview" capability. Something that allows real-time previewing of Xamarin.Forms (assuming XAML). That was not described as a visual designer.

Related

WPF- How to Make Menu control look native

I am currently learning WPF framework; I have some past (not much though) experience with Winforms. One problem I've had in both is that the menubar does not look native. I've found a workaround in Winforms, but I haven't been able to find anything for WPF. I've not had this problem in other frameworks I've used, particularly Qt.
In many pics I've seen, it looks native enough in Windows 7, but not Windows 10. I included some pics.
How it currently looks:
How it should look:
Thanks in advance!
Edit
While I have not seen the possible duplicate link, I am aware of setting the foreground/background on WPF controls. That link doesn't really answer my question. I don't want to come up with my own style at this point; all I want to do is make controls look native.
If custom styling is the only way, that's fine, but if there is another way, that would be preferable.
Thanks!
I don't think there's a quick fix to get what you want. WPF renders using DirectX, allowing for much more flexibility in styling applications. A WPF app should render exactly the same way on any version of Windows - it will not automatically adopt a native look and feel (that was actually one of the main selling points of the technology in its early days).
While MS made the default styling somewhat close to Windows at the time of release (Vista, I think?), if you want WPF controls to have a particular look you're going to have to style them yourself.

How i can create a GUI for SharpDX

I am work with Sharpdx/C# - i'm wondering how Unity/UnrealEngine/CryEngine create their GUI for the Editor.
After some research i find "D3Dsurface" to work with WPF. But the Performance/FPS should be bad.
I cant believe all the engines (http://xenko.com - SharpDX engine) do their own GUI from scratch.
I tried to create a second Winform, it works but not the right approach for me.
best regards alex!
Xenko use this and so do I, it looks really good
Telerik windows forms are really good as they can be themed and tweaked to how you like.
Xenko like my self use the dark Visual Studio theme.
They have a free trial so u can get you feet wet before you go and drop cash on it, they also have a forum so you can ask for help and a few times I have seen them go out of there way to help.
Once you get your hands on the Dev pack you can modify the source and all sorts of cool stuff.
I have tried a few other windows forms controls but I settled on Telerik a few years ago and haven't looked back.
All in all I give them a 10/10 and they have some really nice CPU\RAM profiling tools.

Is there a way to host the c# code editor in a visual studio extension window

I'm working on a visual studio 2010 extension and was wondering on how to obtain an existing language service ( the one for C# specifically ). All the articles I've seen on the web so far are about "Implementing your own language service", but I haven't been able to find any info on obtaining an M<existing one.
Just to provide some context here, the extension needs to open a custom wpf form on demand,in which i want to host a C# code editor window.
I'm not yet sure this is even possible, however any tips would be appreciated.
Well, it took me forever to word this question correctly, but I found a blog post answering the question on Google: Hosting the C# Code Editor in a Tool Window
I know it's kind of rude to just dump a link, but helpful nonetheless I hope.
One thing you can have a look at is the Roslyn CTP. I've seen a demo of it at the Dutch Tech Days last week and it looks quite nice.
It can help you in hosting your own coding environment and easily compile snippets. But it's still really beta and it doesn't support all the language features yet.

I'm a .Net, C# and WPF programmer. Is Expression Blend worth it? [closed]

As it currently stands, this question is not a good fit for our Q&A format. We expect answers to be supported by facts, references, or expertise, but this question will likely solicit debate, arguments, polling, or extended discussion. If you feel that this question can be improved and possibly reopened, visit the help center for guidance.
Closed 9 years ago.
I mean, as a normal developer, is there something that I will achieve with Expression Blend that I won't using VS? I have no idea of Expression Blend and at first sight didn't look very friendly / easy to learn.
What do you thing out there? It's worth the time learning to use it or I will do the same as I do with VS?
Thanks!
EDIT: I know what Microsoft says about the tools. What I want to know is if you, as a developer like me, tried Expression Blend and found that it was a waste of time or you thought it was a good tool and you stopped developing the WPF GUIs from VS and switched to EB.
I have it and rarely use it.
I greatly dislike all the extra markup that gets added to the XAML files, and prefer to know what I'm doing to just dragging/dropping items.
The few times I have used it have been to pull out the default styles or templates of a control, or to build something like a gradient, animation, or path, and then copy/paste the XAML into my project.
It's nice if you're into drag/drop coding, or if you're working on a large enough team to be have a separate UI and Coding team, but other than that I don't use it for solo development since I have to maintain the XAML mess it generates.
I stopped developing GUIs in VS and switched to Blend. It was very confusing at first, but I'm now glad I took the time to learn Blend. Most things that you can do in Blend can be done in Visual Studio, but Blend makes them much easier (once you learn how to do it). I constantly astound my fellow developers when I show them how to do something in Blend because a simple drag and drop can replace quite a bit of typing. The thing I really like about Blend is that the design surface is accurate while the Cider WPF designer in Visual Studio often lies to you or misleads you (and is just a piece of crap in general).
Blend can do the following things that Visual Studio cannot:
Create and manage visual states. (I guess you could do this all by hand in VS, but that's just insane for anything even moderately complex.)
Extract and modify control templates.
Easily work with behaviors (I can't imagine doing a FluidMoveBehavior by hand in VS).
Generate sample data for use at design time (reduces coupling of your software components).
WYSIWYG animation editor. (In VS you have to run the application to see the animations; Blend gives you live previews.)
Built in transition effects and easing functions.
SketchFlow (great for making a high fidelity mockup that you can show a client/stakeholder).
WYSIWYG path editor (great for doing simple vector artwork).
WYSIWYG gradient editor.
Import artwork from Photoshop and Illustrator.
These are the sorts of things that can really set your user experience apart from every other freelancer out there. And for the record I'm a developer with no design experience.
It's much easier to edit default styles as you have option Edit a copy which is extracting default style into the new one and you can change it
I find also very useful to edit additional styles like generated content as you can easly see what additional styles control has.
If you are doing animations it can make a difference as you can actually see during desgin time how is it behaving
If you have a dedicated designer in your team it is much more friendly for them as it's similar to photoshop/flash editing software
From my point of view if you are working in a team its enough to have only few expression blends
I always have Expression Blend open next to Visual Studio and switch back and forth between the two when working on Silverlight, WPF or Windows Phone Projects. These are my main resons:
I use a lot of animations and visual states in my applications. To create these you would like to see what is going on. In the visual studio you can't (yet). It's almost impossible to write a real animation or visual state by hand.
Managing resources is something I use Expression Blend for too. Creating new dictionaries and moving resources around is very easy in Blend. It even notifies you when you try to delete a resouce you are using in some place. Finding and editing a resouce is very easy. With a click of a button a property is converted to a resource and ready for use in other places.
One other thing I use a lot is Sample Data. I would like to see my forms and lists filled with data when creating them. Depending on the state of the application I create sample data by hand, use an xml export from the database or generate sample data from code.
Databinding becomes a lot easier when you are using sample data. Just drag'n'drop the property on a textbox and you'll have a binding. Through the databinding editor you can finetune the binding the way you want.
I think there's an easy way to answer your question... all you have to do is ask yourself what is the end result of anything you do in Blend?
The answer is XAML. So if this tool generates XAML for you, why wouldn't you work directly with XAML in the first place? XAML is human readable, it's easy to understand and master and between VS Intellisense and Resharper code completion there's really not a whole lot of typing required.
The time you invest in mastering Blend is much better invested in mastering XAML because Blend is just a tool used to generate XAML in a visual way so working directly with XAML means better understading of the underlying technology and taking full control of your code instead of relying on some black box tool to generate something you don't really understand.
And what if you invest all that time in mastering Blend and you end up in some other company 6 months down the road and they decided not to use Blend? If you don't know XAML, you'll now have to invest more time to learn it and if you do know XAML you'll be good to go in any environment as I really doubt it any company would force coders who need to work with UI as well to use Blend and not allow them to work with XAML directly.
There are a few scenarios Blend would save you quite a bit of time (people mentioned visual states and animations) so it's certainly good to have Blend on such occasions but if you're developing typicall LOB apps there's pretty much nothing there that will make you feel like you really, really need Blend...
When the Visual Studio is more oriented on the developers, Expression Blend is oriented to the designers. It have a lot of predefiend tools whitch can generate a lot of code and simple to use (espessially animations, design issues, etc.). So everything what can be done in Expression Blend you can do in Visual Studio. I'm not sure about viсe-versa.
Here is what said on official site:
Expression Blend, Visual Studio, Silverlight and .NET provide the most compelling and seamless design and development workflow on the market today. Rapidly iterate on both the user experience and core architecture, evolving your ideas quickly from initial prototype through to completed project.
Key components of Expression Blend, including Behaviors, Visual State Manager, transition effects, and SketchFlow (Expression Blend 4 includes SketchFlow in Expression Studio 4 Ultimate product only), coupled with the speed and flexibility of this modern workflow challenge you to push boundaries and work beyond the limits of what you thought possible.
So, it depends on where you are: if you mostly working with the UI layer of the application you may found a lot of useful things in Expression Blend, otherwise if you mostly work with backgound - Visual Studio is your choiсe.
Update
Also check out following tread on SO: WPF Applications: Visual Studio vs. Expression Blend
As a professional developer Expression Blend is invaluable and does many things which VS does not,
Just off top of my head,
Sample data,
Storyboarding,
Far superior datatemplate support
Way better resource dictionary support
Much better Custom Control tooling
Much better XAML control
If you are simply editing very basic UI then Blend wont be of any use stick with VS. Blend is for design and animation it is for front-end.
Blend tool having multi purpose.
I assume it's mainly on
1.build animation(Story Board) in silverlight
2.create WPF/SL/WP XAML layout
If you want to create some animation silverlight/ some data-bound sliverlight application, my answer is yes after i try to use Adobe Edge in 7 days and used flash from flash 4 ,MX2004, flash 5 in long time ago.
To create a fancy animation, Expression Blend still beat Adobe Edge and comparable to Adobe Flash.
And you can write your familiar programming language to control everything just like flash action script.
In my optional, Action Script is quite messy on mid-large project and very hard to debug/maintenance.

Learning WPF at work

There are some projects that could use WPF at work, for the sake of adopting new technologies.
But the problem is, I can't jump start WPF easily. I recognize the learning curve is steeper than Winforms. Though even with Winforms one can start doing UIs and programmatically customize them in a day.
So the problem is:
I don't have any resource to quickly learn the fundamentals of WPF at work. I can't read a book from cover to cover before I do the simplest of things.
Most tutorials on the net, just does things that excludes the fundamentals. i.e. they post partial xaml code I can't even put into my xaml code correctly (VS highlights them in red).
I can't justify using WPF over Winforms where there is no significant gain for prety much all projects I can think of. And the learning curve just makes things worse.
So I can't suggest my manager to use this tech over the traditional Winforms, but I want to.
Is there a guide or a tutorial on the net, or a video that explains the fundamentals of WPF so I can explore everything else on my own, except the more complicated tasks?
Fundamental of WPF video from Mix07.
Windows Client .NET get started section has lots of WPF Videos.
Channel 9 WPF content.
Windows Presentation Unleashed is a very good book.
MSDN content for WPF.
MSDN magazine articles on WPF.
Well, the basics are there. You can drag and drop controls onto a XAML surface in VS.NET 2008 just about as easily as you can with Windows Forms. Sure, there's the binding syntax stuff, but getting started isn't too bad.
But you DEFINITELY need to buy a good book on it. You don't need to have read it from cover to cover in order to get started. A decent book will have you up and running in a chapter or two, and you can take it from there. Just make sure that whatever book you buy, it was published after .NET 3.5 (and SP1 preferably) came out.
Also, understand WHY you want to use WPF. Is it just because it's new? Then you're right, that's not a good enough answer. WPF does have some big benefits though:
A powerful binding expression syntax that actually works
No need to repaint your own windows in response to WM_PAINT messages
_ (corrollary to the previous point) It's much easier to owner-draw and make your own controls
MS is spending a LOT of effort to actually develop it
MS is spending minimal effort on developing WinForms
If you need 2d/3d data visualisation WPF will pay by itself quickly and it's very evolving...
Personally I've got in that boat because all 3d hardware acceleration (opengl) wrapper in c# are dying so the solution for a maintened 3d looks like wpf or xna...
I'd suggest you get either expression blend or vs2010 beta ... vs2008 just don't speak wpf enough to help someone who doesn't know exactly what he's trying to do.

Categories

Resources