2013-03-15 1 views
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){} 
+0

변경하면 이러한 속성에 대한 속성 변경 알림을 발생 시켰습니까? VM에서'InotifyPropertyChange'를 구현하거나'Caliburn.Micro.PropertyChangedBase'를 상속 받아'NotifyOfPropertyChange (() SomeProperty);를 호출하십시오. – Charleh

+0

빠른 응답 감사합니다. 나는 오류를 발견했지만 8 시간 전에 내 질문에 대답 할 수 없다. –

+0

바인딩에 탄피가 거의 없다. 아무 값도 예상하지 않았기 때문에 매개 변수에서 올바른 데이터를 얻고 있다고 생각했지만 잘못된 바인딩으로 인해 값을 얻었습니다. CanExpressionSave는 Caliburn에 의해 암시 적으로 바인드되므로 위 xaml 및 코드는 유효합니다. 즉, 바인딩 된 속성을 변경하면 CanExpressionSave가 트리거됩니다. 호프가 누군가에게 도움이 되었으면 좋겠다. –

답변

0

문제는 바인딩의 몇 가지 케이스에 있었다.

나는 가치가 없기를 기대했기 때문에 매개 변수에서 올바른 데이터를 얻고 있다고 생각했지만 잘못된 바인딩으로 인해 값을 얻었습니다.

CanExpressionSave가 Caliburn에 의해 암묵적으로 바인드되므로 위 xaml 및 코드는 유효합니다. 즉, 바인딩 된 속성을 변경하면 CanExpressionSave가 트리거됩니다.

누군가에게 도움이 되었으면합니다. :)

관련 문제