I can imagine two possible options that you could use:
You can bind button style properties to properties on your ShellViewModel. In these properties you can define a style for return based on Active view shells i.e.
return ActiveItem == button1ViewModel ?
(Style) App.Current.Resources["Button1ActiveStyleKey"] :
(Style) App.Current.Resources["Button1InactiveStyleKey"];
, ViewModel , , , . , Caliburn.Micro IResult, 3 ( ) Coroutine, , ..
public IEnumerable<IResult> ButtonOneClicked()
{
yield return new ChangeButtonStyle("Button1Name", "Button1ActiveStyleKey");
yield return new ChangeButtonStyle("Button2Name", "Button2InactiveStyleKey");
yield return new ChangeButtonStyle("Button3Name", "Button3InactiveStyleKey");
}
ChangeButtonStyle IResult ( ActionExecutionContext IResult.Execute) , ChangeButtonStyle ctor, style , , ChangeButtonStyle ctor.