Showing posts with label WPF. Show all posts
Showing posts with label WPF. Show all posts

September 18, 2008

[WPF] - Some XAML tools for WPF

Photobucket

Expression Blend by Microsoft

Formerly known as Expression Interactive Designer (and "Sparkle"), this application allows you to build next-generation user experiences that take advantage of WPF. Expression Interactive Designer supports vectors, pixel images, 3D content, video and audio, high quality text, and animation.


Photobucket

ZAM 3D by Electric Rain

Zam 3D is a 3D XAML Tool for Microsoft Windows Vista Application Development.
Provides developers and designers with a quick and easy solution for creating 3D interface elements for Microsoft Windows Vista based applications. It also acts as a 3ds to XAML and dxf to XAML converter.


Photobucket

XAML Exporter for Blender by Daniel Lehenbauer

The XAML export script for Blender allows the popular free 3D modeler to be used to create content for WPF applications. 3D scenes created in Blender are exported to .xaml files which can be dynamically loaded or compiled into your WPF applications.


Photobucket

Maya To XAML by Thomas Goddard

This plug-in allows designers to create compelling 3D user interfaces in Maya and export to XAML, the next generation application GUI markup language for windows and the web. Objects created in Maya can be used as hit targets, windows forms controls, and more. Because the objects are kept as vector data in the interface, the user can scale the entire application and keep the same look and feel. Look for future export features like animation, mesh optimization, xml formatting, and the ability to specify the WPF target type template for Maya objects.


Deep Exploration by Right Hemisphere

Deep Exploration Standard Edition enables your extended teams to easily create and deliver visual product communications and collaborate more effectively. Rapidly and easily transform, author, and publish 2D and 3D product graphics and documents on your desktop


Photobucket

Aurora by MOBIFORM Software

Aurora XAML Designer is a customizable authoring and design toolkit for embedding into .NET applications as a WPF control for developing user interfaces and graphics for Windows desktop and web applications. Aurora has a full object model allowing for programmatically generating graphics on the design surface. Developers can access the XAML document tree, toolbars, menu, property panel items and even embed their own WPF components.

Aurora generates the XAML markup required by Visual Studio® for developing .NET 3.5 applications. Aurora authors traditional style dialog boxes and windows using common controls and works in multiple layers like many graphics design products. Aurora has a gallery of royalty-free clip art, supports 2D vector graphics and has powerful brush options for specifying linear, radial, visual, image and video brushes. Unlike some design products and export plug-ins that produce markup completely as paths, the output from Aurora XAML Designer is optimized so that the individual graphics can be easily integrated with .NET code-behind.


September 16, 2008

[WPF] - Some useful books for WPF programmers

Photobucket

Windows Presentation Foundation Unleashed (WPF) (Unleashed) - - Adam Nathan

“This book stands out as one of the easiest to read technical books. The book is in color, is divided into many chapters and sub-chapters, and written in a casual style, which makes it very enjoyable to read. The coverage of the content is top-notch, save for the chapter on data binding which I think lacked better examples. I think this book falls into the category of a cover-to-cover read; meaning it is easy to get through the book in a couple weeks. There are other books that I would recommend as a reference book that contain more detailed technical information. If you are new to WPF and are the type to read complete chapters and books, then definitely start with this one.”

Photobucket

Essential Windows Presentation Foundation (WPF) (Microsoft .NET Development Series) - Chris Anderson

“I thought no one could top Adam Nathan's WPF book, and this one doesn't top it - no what it does it match it but does so without tediously repeating the same material and approach. Chris Anderson's book is the one to read if you want to know the Why's and not just the What's - this is not just because Chris was one of the chief architects but because he explains it all so clearly. The book's organisation is wonderful, WPF has a huge surface area but Chris's presentation of it is effortless, enlightening and entertaining. I wouldn't hesitate to recommend this book.”

Photobucket

Programming Windows Presentation Foundation (Programming) - Chris Sells/Ian Griffiths

“If you are interested in Avalon (WPF) at all, then this is the book you need! It is by far the best book on the subject that's currently available. Sure, this is still beta technology and by now a few new builds have been made available, but updated samples are available online.

Not only will the technology change before it is released, but there will also be a lot of new tools available by the time it ships. For the time being however, this book tells you how things are done without special tools. And it can never hurt to know how things are done under the hood.”

Photobucket

Applications = Code + Markup: A Guide to the Microsoft Windows Presentation Foundation (Pro - Developer) - Charles Petzold

“I have had this book for about 2 weeks now, as Amazon delivered it to me early before the official release. I am a tech book junkie. I buy a lot of tech books. This is the best programming text I have purchased in the last couple of years. Petzold does a great job explaining WPF from both a nuts & bolts prespective and a big picture perspective.

I purchased two other WPF books over the last few months. This book blows both of them away. It was written using the June CTP of the .Net 3.0 framework, which is supposed to be fairly locked down API-wise. All the code works correctly, which I cannot say about my other two books. In the first 5 pages I learned something new about WPF, even though I have been knee deep in the technology for months. Several things that seemed rather mysterious to me in WPF have become crystal clear because of the explanations in this book.

The first half of the book is all C#. The second half is all XAML, acomplishing the same tasks as the first half. This approach really shows the relationship between XAML code and the resulting objects at runtime.”


September 12, 2008

[WPF] - Best Practices for Globalization and Localization in WPF

You can make the most of the globalization and localization functionality that is built into Windows Presentation Foundation by following the UI design and localization-related tips that this section provides.

Best Practices for WPF UI Design

When you design a Windows Presentation Foundation–based UI, consider implementing these best practices:

  • Write your UI in XAML; avoid creating UI in code. When you create your UI by using XAML, you expose it through built-in localization APIs.
  • Avoid using absolute positions and fixed sizes to lay out content; instead, use relative or automatic sizing.

Ø Use SizeToContent; and keep widths and heights set to Auto.

Ø Avoid using Canvas to lay out UIs.

Ø Use Grid and its size-sharing feature.

  • Provide extra space in margins because localized text often requires more space. Extra space allows for possible overhanging characters.
  • Enable TextWrapping on TextBlock to avoid clipping.
  • Set the xml:lang attribute. This attribute describes the culture of a specific element and its child elements. The value of this property changes the behavior of several features in WPF. For example, it changes the behavior of hyphenation, spell checking, number substitution, complex script shaping, and font fallback.
  • Create a customized composite font to obtain better control of fonts that are used for different languages. By default, Windows Presentation Foundation uses the GlobalUserInterface.composite font in your Windows\Fonts directory.
  • When you create navigation applications that may be localized in a culture that presents text in a right-to-left format, explicitly set the FlowDirection of every page to ensure the page does not inherit FlowDirection from the NavigationWindow.
  • When you create stand-alone navigation applications that are hosted outside a browser, set the StartupURI for your initial application to a NavigationWindow instead of to a page (for example, ). This design enables you to change the FlowDirection of the Window and the navigation bar.

Best Practices for WPF Localization

When you localize WPF applications, consider implementing these best practices:

  • Use localization comments to provide extra context for localizers.
  • Use localization attributes to control localization instead of selectively omitting Uid properties on elements.
  • Use msbuild /t:updateuid and /t:checkuid to add and check Uid properties in your XAML. Use Uid properties to track changes between development and localization. Uid properties help you localize new development changes. If you manually add Uid properties to a UI, the task is typically tedious and less accurate.
  • Do not edit or change Uid properties after you begin localization.
  • Do not use duplicate Uid properties (remember this tip when you use the copy-and-paste command).
  • Set the UltimateResourceFallback location in AssemblyInfo.* to specify the appropriate language for fallback

[assembly: NeutralResourcesLanguage("en-US", UltimateResourceFallbackLocation.Satellite)]

  • If you decide to include to include your source language in the main assembly by omitting the tag in your project file, set the UltimateResourceFallback location as the main assembly instead of the satellite

[assembly: NeutralResourcesLanguage("en-US", UltimateResourceFallbackLocation.MainAssembly)]

Reference: http://blogs.msdn.com/wpfsdk/archive/2006/07/06/658392.aspx


September 11, 2008

[WPF] – WPF DataGrid is finally released in .NET framework 3.5 SP1

WPF is proud to introduce the new DataGrid control and our control improvements for 3.5 SP1! In 3.5 SP1, the WPF Controls team invested heavily in improvements to our controls infrastructure to enable a performant, full-featured DataGrid in our next release. A CTP of our new DataGrid control is available on CodePlex.

Here’s a quick list of the features you’ll find in the DataGrid CTP which is available now on the WPF Codeplex site:

  • Auto-generation of Columns. Simply hook up the DataGrid to an ItemsSource and at runtime it will auto-populate with variety of pre-built column types. You can also hook into column generation events to modify the columns as they’re created, or specify columns in the XAML.
  • Variety of Column Types. Text, CheckBox, ComboBox, Button, and Hyperlink columns are standard column types. You can also use the TemplateColumn to create your own custom column.
  • Row and Column Headers. Headers for both rows and columns can be toggled on and off.
  • Grid Lines. Horizontal and vertical grid lines can be toggled on and off and styled.
  • Column Width Behaviors. Columns can be set to auto-size to header or cell content, fill the remaining space (* behavior), respect max and min values, or set to an absolute width.
  • Cell Editing. Edit cell content and submit changes back to the database.
  • Selection. Row-only, cell-only, or row and cell selection can be enabled.
  • Keyboard Navigation. The entire grid can be navigated with keyboard only.
  • Column Resizing and Reordering. Columns can be resized and reordered programmatically or by the user through drag and drop in the UI.
  • Column Sorting. Columns support sorting and multi-sorting by end-user and programmatically.
  • Fully Style-able and Template-able. The DataGrid and all of its elements are fully style-able and template-able. Customize the look and feel of the grid, or make it look nothing like a grid at all (e.g. card view).
  • Add and Remove Rows. Add new items to the DataGrid or delete items from it. Customize the default value for a new row.
  • Row Validation. Create groups of validation rules to apply to rows.
  • Filtering/Grouping Support. Support for filtering and grouping data through CollectionViews.
  • Clipboard Operations. Built-in Copy support with extensibility for Cut and Paste.
  • Performance. Strong performance for scenarios with thousands of rows and many columns.

Features still to come include:

  • Readonly. Readonly at the grid and column level.
  • Row Details. Rows can expand to show and hide additional fields.
  • Hidden Columns. Hide columns without removing them from the collection.
  • New Column Types. Additional column types, including Image column.
  • Automation. Full automation peers for accessibility and testing.

Some useful links:

Now what are you waiting for? Let’s enjoy it (^_^)