사용자 이름 텍스트 상자와 암호 상자가 포함 된 로그인 양식이 있습니다.MultiBinding을 사용하여 요소 바인딩
두 필드에 값이있는 경우에만 확인 버튼을 사용하고 싶습니다.
null 또는 비어있는 경우 모든 문자열을 검사하는 변환기가 있습니다.
Convert 메서드의 첫 번째 줄에 중단 점을 배치했으며 이후에 MenuItem
이 초기화 될 때만 멈 춥니 다. 즉, 텍스트를 변경할 때입니다.
다음 예제는 정상적으로 작동하지만 문제는 텍스트를 바꿀 때 멀티 바인딩이 트리거되지 않는다는 것입니다.
<!--The following is placed in the OK button-->
<Button.IsEnabled>
<MultiBinding Converter="{StaticResource TrueForAllConverter}">
<Binding ElementName="tbUserName" Path="Text"/>
<Binding ElementName="tbPassword" Path="Password"/>
</MultiBinding>
</Button.IsEnabled>
나는 문제가 원격 바인딩 소스가 변경 될 때 통지되지 않는 생각 (예 : UpdateTargetTrigger="PropertyChanged"
를 설정할 수있는 옵션이 더 있습니다
하나를 : 단지 양식을 초기화 할 때 구속되지입니다. 아이디어?
tbUserName 및 tbPassword 컨트롤에 대해 XAML을 추가하고 TrueForAllConverter 리소스를 선언 할 수 있습니까? –
제리가 올바른 길로 가고 있다고 생각합니다. UpdateSourceTrigger 특성을 TextBoxes의 바인딩에 다시 추가해야 포커스가 컨트롤을 벗어날 때만이 아니라 MultiBinding이 변경 될 때 알림을받습니다. –
내가 싫어하고 그것이 작동하지 않는 것을 볼 수 없다면 나는 응답하지 않을 것이다. TrueForAllConverter 관련 Convert 메서드 위에 중단 점을 배치 했으므로 MenuItem이 초기화 될 때만 중단되므로 변환기에 무엇이 있는지 신경 쓰지 않아도됩니다. 걱정하지 말고 처음에는 시도해야합니다. 변환기가 무엇인지 정말 궁금하다면 게시자에게 게시합니다. – Shimmy