バインドされたパラメーターのいずれかが変更されたときに CanExpressionSave メソッドを呼び出したい
バインディングは、caliburn micro の長い構文を使用して設定されます。
<controls:ImageButton DockPanel.Dock="Right" Image="/Resources/Save.png" AlternativeImage="/Resources/SaveDisabled.png"
Text="Save" Style="{StaticResource ControlButtonStyle}" x:Name="ExpressionSave">
<i:Interaction.Triggers>
<i:EventTrigger EventName="Click">
<cal:ActionMessage MethodName="ExpressionSave">
<cal:Parameter Value="{Binding ElementName=firsttag, Path=Text}"></cal:Parameter>
<cal:Parameter Value="{Binding ElementName=firstoperation, Path=Content}"></cal:Parameter>
<cal:Parameter Value="{Binding ElementName=secondtag, Path=Text}"></cal:Parameter>
<cal:Parameter Value="{Binding ElementName=SecondOperation, Path=Content}"></cal:Parameter>
<cal:Parameter Value="{Binding ElementName=thirdtag, Path=Text}"></cal:Parameter>
</cal:ActionMessage>
</i:EventTrigger>
</i:Interaction.Triggers>
</controls:ImageButton>
コードビハインド:
public void ExpressionSave(string firsttag, string firstoperation, string secondtag,
string secondoperation, string thirdtag){ }
public bool CanExpressionSave(string firsttag, string firstoperation, string secondtag,
string secondoperation, string thirdtag){}