Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

WPF button styling depending on active view

I'm using Caliburn Micro to develop a simple MVVM WPF application.

My ShellView has a single ContentControl and three buttons each which bind to a public method in my ShellViewModel, lets say ActivateView1, ActivateView2 and ActivateView3.

My ShellViewModel inherits from Conductor and each Activate method calls ActivateItem(new View1ViewModel()), etc.

So far so good. When I click a button, a new view gets activated in the ContentControl. The problem is that I need each button to change style when its "associated view" is active and I have really no idea how to achieve this functionality. Do you have any suggestions?

I'm fairly new to Caliburn Micro and WPF-styling so any help will be much appreciated.

like image 974
Vern Avatar asked Dec 05 '25 04:12

Vern


1 Answers

I am not very sure about this but still I can think of something like this,

you can create a style and add the style to your button. something like this

<Style x:Key="ButtonStyle1" TargetType="{x:Type Button}">
            <Style.Triggers>
                <Trigger Property="IsPressed" Value="True">
                         <Setter Property="Fill" TargetName="yourButtonName" Value="Black"/>
                         <Setter Property="Margin" TargetName="yourButtonName" Value="5,0,5,0"/>
                </Trigger>
            </Style.Triggers>
</Style>

and you can add this style to your button.

like image 161
nipiv Avatar answered Dec 07 '25 18:12

nipiv



Donate For Us

If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!