Samstag, 27. März 2010

Model-View-ViewModel (MVVM) und Managed Extensibility Framework (MEF) in Silverlight

Hier gibt es ein gutes (Video)-Tutorial für Silverlight Anwendungen, die auf Model-View-ViewModel (MVVM) und Managed Extensibility Framework (MEF) aufsetzen wollen:

MVVM with MEF in Silverlight: Video Tutorial

Dem Autor zufolge, soll es sowohl in Silverlight 3 als auch in Silverlight 4 funktionieren.

Ich habe bisher immer PRISM verwendet, überlege aber auf MEF umzusteigen, da es Bestandteil von .NET 4.0 werden soll.

Dienstag, 16. März 2010

ScrollViewer in einem ToggleButton verhindert das toogeln

Wenn man in einem ToggleButton einen ScrollViewer verwendet, funktioniert das umschalten vom ToggleButton nicht mehr.

Dieses Problem kann man lösen, indem man beim ScrollViewer die Eigenschaft Focusable auf False setzt.

<Style TargetType="{x:Type ToggleButton}">
  <Setter Property="Template">
    <Setter.Value>
      <ControlTemplate TargetType="{x:Type ToggleButton}">
        <Grid>
          <ScrollViewer Focusable="False"></ScrollViewer>
        </Grid>
      </ControlTemplate>
    </Setter.Value>
  </Setter>
</Style>

Sonntag, 14. März 2010

Sortierung und Gruppierung direkt in XAML

Es ist auch möglich, die Sortierung oder Gruppierung eines ItemsControl direkt in XAML anzugeben.

Dazu muß man einfach eine CollectionViewSource anlegen, und dort dann die SortDescriptions oder GroupDescriptions direkt angeben. Dann einfach der CollectionViewSource noch einen x:Key geben und diese als StaticResource dem ItemsControl.ItemsSource zuweisen.

Hier ein Beispiel mit einer ListBox und GroupDescriptions:

<ControlTemplate> 
<Border>
  <Border.Resources>
   <CollectionViewSource x:Key="cvs" Source="{Binding ListSource}">
    <CollectionViewSource.GroupDescriptions>
     <PropertyGroupDescription PropertyName="PropName" />
    </CollectionViewSource.GroupDescriptions>
   </CollectionViewSource>
  </Border.Resources>
  <ListBox ItemsSource="{Binding Source={StaticResource cvs}}">
  </ListBox>
</Border>
</ControlTemplate>

About

Together with my business partner Henrico Dolfing I am the owner of this++, a consultancy and software development company specialized on cutting edge Microsoft technologies, with offices in Berlin, Germany and Zurich, Switzerland.

And georgbreithaupt.com is my personal blog were i talk about technology (wpf, silverlight, and more), user experience, user interfaces and design. Feel free to contact me for any question or write comments if you agree or disagree.