1
내가 바인더 제본 매개 변수 중 하나가
바인딩이 caliburn 마이크로 긴 구문을 사용하여 설정Caliburn 마이크로 액션 바인딩
을 변경하는 경우 CanExpressionSave 메소드를 호출 할.
<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>
Codebehind가 :
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){}
변경하면 이러한 속성에 대한 속성 변경 알림을 발생 시켰습니까? VM에서'InotifyPropertyChange'를 구현하거나'Caliburn.Micro.PropertyChangedBase'를 상속 받아'NotifyOfPropertyChange (() SomeProperty);를 호출하십시오. – Charleh
빠른 응답 감사합니다. 나는 오류를 발견했지만 8 시간 전에 내 질문에 대답 할 수 없다. –
바인딩에 탄피가 거의 없다. 아무 값도 예상하지 않았기 때문에 매개 변수에서 올바른 데이터를 얻고 있다고 생각했지만 잘못된 바인딩으로 인해 값을 얻었습니다. CanExpressionSave는 Caliburn에 의해 암시 적으로 바인드되므로 위 xaml 및 코드는 유효합니다. 즉, 바인딩 된 속성을 변경하면 CanExpressionSave가 트리거됩니다. 호프가 누군가에게 도움이 되었으면 좋겠다. –