ClickOnce has some pretty nice advantages.  All I need to do is upload the new files and it magically updates the clients.

But it has a problem, every start up, this pops up.  It is super annoying.

image

I have a project installer with an old school installer that seems to have the auto-updating ability too.

If I migrate from the ClickOnce, I have to figure out also how to do a seamless transition.  The ToDo project already has end users.  Of which, today, got a nice present.  I added in font color and a simple configuration screen.

Tags [ Installers WPF ]

So for my ToDo applications, one of the first task items was being able to change the font color.  After reading about this on my trusty WPF advisor blog, I learned you can do direct data bindings with Settings.  This is useful since I just have to create the property bind to it, and walk away.  The one thing I have to do is just save the properties.

Here is the WPF for doing the background binding.  Took me a bit to see the error of my ways for binding a background.  I had <Button Background=“{Binding …” and this was a no no even though you can say Background=“Red” and have it be red.  By binding like this, it works great.

I also bolded the important items to have if you want to bind to your settings.

<Window x:Class="ToDo.Configuration"
    xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
    xmlns:Properties="clr-namespace:ToDo.Properties"
    xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
    Title="Configuration" Height="300" Width="300">
    <Window.Resources>
        <Properties:Settings x:Key="settings" />
    </Window.Resources>
    <Grid DataContext="{StaticResource settings}">
        <Button>
            <Button.Background>
                <SolidColorBrush Color="{Binding Path=Default.FontColor, Mode=TwoWay}" />
            </Button.Background>
        </Button>
    </Grid>
</Window>

Now I can have multiple things bound to a setting and not have to reload after the settings have been updated!
Tags [ ToDo WPF ]