October 3rd, 2008 . by Tobias
After reading a blog post today on the LOB in WPF topic and remembering the countless ones I read before I thought it might be the right time to present the world what I would like to call "the first framework for db-centric line-of-business applications built for WPF": Trivadis Application Builder (TAB). The name already implies that there is more than just a framework.
While there are now powertoys out to create business WPF forms, we are already a step ahead of those. The business forms (master/detail, detail, etc.) in a TAB applications are either created dynamically at runtime without user interaction or XAML code is generated by a wizard at design time (which creates exactly the same XAML as the runtime generator does).
At lot of business application functionality like Lookups, Catalogs, Filters, Sorting, Translation Services, Multi-Layer validation, etc. is available in our framework which implements all of this in a M-V-VM pattern way and tries to force the developer to think in M-V-VM ways.

Take this post as a teaser and come back for the next post in this new TAB series.
BTW: Version 1.0 is out in the wild and is already used in real-life customer projects. For more information concering projects with TAB please go to http://www.trivadis.com
Posted in .net, Development, TAB, TrivadisContent, WPF |
No Comments »
April 15th, 2008 . by Tobias
You know the pity: You're once again working on the train and have only a lousy HSDPA or UMTS connection but right a this point in time you would need to debug into the .net source code. You are actually able to get the source code since MSFT released it on 1/16/2008 but in this case your connection is to slow to grab ~10 MB of source files.
Two guys posted a .NET Source Code Mass Downloader on codeplex which might help you in those cases. The mass downloader enables you to download the .net source code while you are on the company's network. After you've once downloaded the source there is no longer any need to download the files for every new debug session separately. Mission accomplished: You can debug into the source on the train even without any connection
Thanks to Kerem Kusmezer and John Robbins for releasing such a wonderful tool.
-t
Posted in .net, Development, TrivadisContent |
No Comments »
April 10th, 2008 . by Tobias
Brad Abrams wrote about the just released Framework Design Studio. Also there is not that much functionality included right now it already helped me to identify API changes between two milestones in an internal WPF framework we currently work on.
http://blogs.msdn.com/brada/archive/2008/04/04/framework-design-studio-published.aspx
In addition to the program itself you can download a 9 pages long excerpt from the book titled Framework Design Guidelines.
-t
Posted in Development, Personal, TrivadisContent |
No Comments »
April 10th, 2008 . by Tobias
This posting consists of two sections:
- cool but not really useable
- really cool and usable
lets start with the non-usable stuff [Code in XAML]:
Whenever you declare your UI in XAML you've to attach event handlers in the code behind file, right? I expected that there has to be another way to attach code as XAML is just XML which is used to generate .cs (g.cs) files. And, tada, there is one:
1 <Window x:Class="App1.Window1"
2 xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
3 xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
4 Title="Window1" Height="300" Width="300">
5 <Grid>
6
7 <x:Code>
8 <![CDATA[
9 private void ClickMe(Object sender, RoutedEventArgs e)
10 {
11 MessageBox.Show("This is embedded code from a CDATA section!");
12 }
13 ]]>
14 </x:Code>
15
16 <Button Content="Click me" Click="ClickMe" />
17 </Grid>
18 </Window>
let me cite Uri Geller: unbelievable
This will become a mess if there's more code involved. On the other hand: It should be possible to use this "approach" together with the XAML loader to implement a new type of plugin system: Your code gets part of the original code. Didn't test it yet and I hope it doesn't work as this might lead to new security holes.
Let's go on with the second, the really usefull, section [Width={Binding Height}*2]:
As there are a lot of guys out there who are a lot smarter than I, let me concentrate on pasting the following links without any error in this post :D:
Both present ways to define converters for WPF in XAML. Yeah, you got it right, no more one-line converters. Now you can create bindings which can not only bind to properties but can also calculate on those properties.
Once again: unbelievable.
I hope this post is as useful for you as the above links were useful for me.
Regards,
-t
Posted in .net, C#, TrivadisContent, WPF |
1 Comment »
March 10th, 2008 . by Tobias
QuickLink: http://sessions.visitmix.com/, search for Session: T11.

A lot of what you are currently missing in WPF will come with .net Framework 3.5 "Servicing Release":
- Container Recycling for ItemsControl (as base class)
- DeferredScrolling (in TreeView)
- don't know if I will ever use it
- DataGrid (new)
- Value formating without value converter
- you know String.Format()?, use it in a declarative way<g>
- Effects
- great looking HW interaction with shaders
- WriteableBitmap
- writeable surface which is completly integrated in the WPF rendering pipeline
- DXInterop
- Might become a killer feature. (At least team-mediaportal.com would have had some use for it)
Check out Rob Relyea's session "What is new in WPF 3.5 and Beyond" to get a feeling for all the new features coming. Bits are currently not available for download.
- tobias
Posted in .net, TrivadisContent, WPF |
No Comments »
March 10th, 2008 . by Tobias
Quicknote: If you are a wpf custom control writer(1), check out the sources for the Silverlight 2.0b1 controls released with mix08 keynote: Silverlight 2.0b1 controls. It is actually a whole vs2008 solution, so you can even "learn" how to create tests against custom controls.
BTW: The new -and right now "Silverlight only"- DataGrid is also included.
- tobias
(1) custom control != user control 
Posted in .net, C#, TrivadisContent, WPF |
No Comments »
February 22nd, 2008 . by Tobias
For a lot of us WPF is still a new technology. There are a few commercial applications out there, a few component suites... but it is still not common in the "typical windows app".
I was looking for blog entries by MSFT staff to find out when the first releases were published. And it looks like it was around 2003/2004. The interesting question would be: When did the development process for WPF start? I don't know when the whole process started but you can look for when the implementation of the real thing (not counting first test releases) started in BamlRecordReader.cs (available via .net 3.5 source code in VS 2008):
/*****************************************\
*
* File: BamlRecordReader.cs
*
* Purpose: Main class to handle reading a Baml file
*
* History:
* 6/06/01: [...] Created
* [...]
\*****************************************/
Baml is the binary representation of XAML. As there were two different "compiled" versions of XAML (CAML & BAML) available in the first bits of WPF we can assume that the Baml classes were one of the first classes (I don't know if CAML was used before BAML but as I don't have any reference source for CAML [CAML was discontinued after the first bits] I cannot event check the dates in there).
Looks like the WPF project was well underway in mid-2001 (to get a feeling: XP was release 10/25/2001).
Was the WPF project already started in the 90's? If yes, it would be more than interessting to see what's currently developed within MSFT...
Don't take the dates for sure. This is just guessing from the external world and could be all wrong.
- tobias
Posted in .net, TrivadisContent, WPF |
1 Comment »
January 17th, 2008 . by Tobias
The SDK used to create the New York Times Reader (as an example) fomerly known as "Reader SDK" is now available as "Syndicated Client Starter Kit" from windowsclient.net: http://windowsclient.net/wpf/starter-kits/sce.aspx.
Get more information concerning the SDK from Tim Sneath: http://blogs.msdn.com/tims/archive/2008/01/16/we-ve-released-the-news-reader-sdk.aspx
I've tried the MSDN reader sample and was fairly impressed. Besides some problems in getting the content to my pc (might be based on problems with the Subscription Center) the reader worked very well and the layout is WPF par excellence.
Posted in TrivadisContent, WPF |
No Comments »
January 16th, 2008 . by Tobias
Let me save you some time ;).
I had a hard time of finding all the information I needed to create a really usable wpf custom control (user defined templates etc.). Looks like Charles Petzold had to go the same way and was keen enough to write an article for MSDN mag.
So if you want to go the custom control route, read the article at http://msdn.microsoft.com/msdnmag/issues/08/01/Foundations/default.aspx before you start. It's quite easy once you got all the information in place.
Another interesting links, even if you are looking for tipps on how to integrate your new control nicely into all the editors out there (VS 2008, Blend, etc.): http://forums.microsoft.com/MSDN/ShowPost.aspx?PostID=2125195&SiteID=1
BTW: Never set
DataContext = this;
within your custom control just because your Bindings within the generic.xaml template doesn't work. Take the proper approach:
{Binding RelativeSource={RelativeSource TemplatedParent},Path=XY}
(to be continued...)
Posted in .net, TrivadisContent, WPF, Windows |
2 Comments »
January 9th, 2008 . by Tobias
Microsoft's server are getting a personality. As Windows Server 2008 entered ESCROW a few weeks ago it looks like the bits are getting ready. Microsoft.com being one of the largest web pages in today's Internet (in case of unique hits) one can say that it might be its own testbed for new servers.

Check out the new ad from MSFT: Loneserver (http://www.loneserver.com). The interesting part -besides all the fun- is that a build of longhorn was already used in '05 for hosting parts of Microsoft.com.
Posted in TrivadisContent, Windows |
No Comments »