Posts

Showing posts with the label WPF

Using Vista Aero theme in XP WPF apps

I found this article on the web recently which shows how to use the Vista Aero theme on XP in your WPF apps. I found two things: 01: It is less complicated that the article states. 02: It is a bit different if you already have stuff in your app resources, such as styles or control templates etc. So here are my steps 01: Add PresentationFramework.Aero to your applications References list. It is listed in the [.NET] tab. 02: Edit your App.xaml and change it from this <Application.Resources>   <!-- Your stuff here --> </Application.Resources> to this <Application.Resources>   <ResourceDictionary>     <!-- Put your stuff here instead -->     <ResourceDictionary.MergedDictionaries>       <ResourceDictionary Source="/PresentationFramework.Aero;component/themes/aero.normalcolor.xaml"/>     </ResourceDictionary.MergedDictionaries>   </ResourceDictionary> </Application.Resources>

Selecting WPF ListView row in code

An app I am considering migrating to WPF uses a DevExpress grid to show a list of events, as I animate my composition I highlight the current event in the grid. Things I have learned about WPF: 01: You can create a data grid type view like so: <ListView Name="ListView">   <ListView.View>     <GridView AllowsColumnReorder="False">       <GridViewColumn DisplayMemberBinding="{Binding Path=Title}" Header="Title"/>       <GridViewColumn DisplayMemberBinding="{Binding Path=FirstName}" Header="FirstName"/>       <GridViewColumn DisplayMemberBinding="{Binding Path=LastName}" Header="LastName"/>     </GridView>   </ListView.View> </ListView> 02: Don’t put a ListView in a <StackPanel>! It renders all of the data at once. When you have 6K rows of data for example it takes about 1 second to select the next row. Instead you should put it in a grid <Gri

WPF custom button templates

Image
I’ve had a bit of a play with WPF for the first time today. I decided to create my own button template. The idea of a template is that you can redefine the visual elements that make up the control. Create a new WPF application Now add a button within the grid like so  <Grid>   <Button Content="Click me" Width="150" Height="50"/>  </Grid> So that we can see what we are designing add a gradient background to the window. Within the <Window> node add  <Window.Background>   <LinearGradientBrush>    <GradientStop Color="Black" Offset="0"/>    <GradientStop Color="White" Offset="1"/>   </LinearGradientBrush>  </Window.Background> Now to start designing the button template. Within the <Window> node add  <Window.Resources>  </Window.Resources> this is where we will add the template, within that new node add the following  <ControlTemplate x