With Labor Day stealing a valued Atlanta User Group this month, we've decided to have another Geek Dinner on September 18th, 2008. We will be having it in our normal Perimeter location (5 Seasons Brewery). Please view dinner information and RSVP by following this link:
http://www.geekdinners.com/DinnerInstance.aspx?id=12
Microsoft is hosting a full day event to help people get up to speed on Silverlight 2. Peter Laudati and I will be doing the Keynote for the event, so if you live in the New York area, its a great opportunity to learn the basics of Silverlight 2. The event will be held on Saturday, September 13th, 2008 at the Microsoft office in Midtown Manhattan.
The event will include great Silverlight speakers including Todd Snyder and Jason Beres. More details will be announced on Peter's Blog.
You can register for the event here: Firestarter Registration
I am still working with Siebrand Dijkstra and his people at School Master, BV and they've opened my eyes to another interesting development.
In looking at their code, I convinced them that their interface might be better as an Abstract class that derives from UserControl for some user controls they are creating:
public abstract class OurUserControl : UserControl
{
// ...
}
All was well until we tried to get the XAML partial class to compile with their class. The problem revolved the problem that the partial class that the XAML file creates derives from UserControl, no matter what we did in our 1/2 of the partial class:
public partial class Page : OurUserControl
{
public Page()
{
InitializeComponent();
}
}
So I set out to see if there was a solution. In looking at the XAML editor in Visual Studio I noticed the x:Subclass property of the UserControl element:
<UserControl x:Class="Foo.Page"
x:Subclass="Foo.OurUserControl"
xmlns="..."
xmlns:x="...">
...
</UserControl>
This didn't work, the base class for the generated class (page.g.cs) was still UserControl. I tried to figure out another way when their developers decided to try and change the UserControl to the XAML instance of their class, adding their namespace to the XAML:
<my:OurUserControl x:Class="Foo.Page"
xmlns:my="clr-namespace:Foo"
xmlns="..."
xmlns:x="...">
...
</my:OurUserControl>
I was so sure that this wouldn't work that I dissuaded them from even trying, but they persisted. Oddly, it worked...even without the x:Subclass attribute. I am still a little surprised it worked. The only drawback is that Blend does not support it but expect that it will be fixed by release...at least I hope so.
Now I have to figure out what the heck x:Subclass is really for. Where's my Reflector?
UPDATE: The client doesn't mind that I mention them so I'll tell you that its the great people at SchoolMaster. Siebrand Dijkstra and his crew are doing some interesting things with Silverlight.
I love teaching the Silverlight Tour as pretty much every class I teach I learn something new. I get used to certain features of Blend that do what I need but because of some bugs, I have gotten too good at hand-editing my XAML. In my current class (a private class for a Dutch software company), one of their very bright engineers showed me this trick:
I was explaining how you can specify the rows/columns in the main grid by clicking on the top/left bars as seen below:

I was starting to explain that the nested grid must be edited by hand or by using the row/column editor when I hand raised in the back. He explained that if you double click on a container (or a ContentControl), it will switch to editing that container with the same functionality. He pointed out that the yellow outline indicates the current container focus:

Cool! That will make a lot of my editing much easier. I started playing around with the feature when I got back to the hotel and found out that it works with ContentControls too (Button, etc.):

This way I can draw directly inside a button. I always used some odd tricks to get this to work. I hope this is relatively new...I'd feel silly if its been there since v1.0.
Let the ridicule begin!
In this second part of my interview, Keith Elder and Chris Woodruff to talk about all things Silverlight. This episode gets deeper in to the good and bad of Silverlight 2 development today.
I was approached to answer nine questions for the ninequestions.net site. I was happy to get asked. Hopefully there is some info that you haven't heard already.
Enjoy...
After some discussion, Mike Flasko (Program Manager, ADO.NET Data Services) has clarified the relationship between the Silverlight 2 Beta 2 Data Services Library and the SP1 of VS2008/.NET 3.5. Specifically he says:
While the Silverlight Beta 2 data services library may work in some scenarios against a .NET Framework 3.5 SP1 RTM server, you should NOT count on the two being fully compatible with each other.
For me, I am going to wait to roll up to SP1 RTM until Silverlight 2 RTM's. Caveat emptor. Follow the above link to read his full discussion.
Recently I sat down with Keith Elder and Chris Woodruff to talk about all things Silverlight. I guess they sparked my long-windedness because we talked so long they had to split into two parts. We discuss basic Silverlight topics as well as how I think the Olympics will impact Silverlight and even some comparisons with similar Adobe products. Go grab it while its hot.
UPDATE: This may be incorrect. I am working with Microsoft to understand if I got this wrong. I'll update this blog once I get the story right.
As everyone has announced already, Visual Studio 2008 and .NET 3.5 have released an SP1 that includes a bunch of fixes as well as the Entity Framework as well as ADO.NET Data Services. To support this, the Silverlight team dropped a new version of the Visual Studio tools that work with Silverlight 2 Beta 2 and Visual Studio 2008 SP1.
The one caveat is that the Silverlight library for ADO.NET Data Services is not compatible with the RTM of .NET 3.5 SP1's version of ADO.NET Data Services. Since its not compatible, if you are using ADO.NET Data Services with Silverlight, you should wait to upgrade to Visual Studio/.NET SP1 until Silverlight 2 is released (there aren't any release dates for this yet).
Note, that this is a little confused by the fact that SQL Server 2008 (released last week) requires Visual Studio 2008 SP1 RTM to install, so if you need both Silverlight 2 Beta 2 to work with ADO.NET Data Services and SQL Server 2008, there is no good solution for getting all three installed at once.
I am holding a quick impromptu Geek Dinner on Tuesday night in Waltham, MA if you are in the area, please let me know if you can attend. I am holding it at Naked Fish. We will be starting at 6:30pm:
Naked Fish
455 Totten Pond Road
Waltham, MA 02451
781-684-0500
Please RSVP by sending me an e-mail here: RSVP.