2013-04-29 3 views
1

어떤 경우에는 비활성화 할 버튼이 있습니다. 이를 결정하기 위해 뷰에서 많은 컨트롤을 선택했습니다. 이 질문에 단순화하기 위해 두 comboBox.여러 조건 중 하나를 변경할 때 속성을 설정하는 방법은 무엇입니까?

그래서 IsEnabled는이 두 컨트롤의 정보 조합에 따라 달라 지므로이 중 하나를 변경하면 IsEnabled가 새로운 상태를 평가해야합니다. 어떻게해야합니까? 단추를 사용할 수 있는지 여부를 결정하려면 다중 값 변환기가 필요하지만 콤보 상자 중 하나에서 선택 항목이 변경되면 변환기를 실행하는 방법을 알지 못합니다.

편집 : 다중 값 계산기 I 멀티 바인딩을 말하고 싶었다 전에 말한

.

아마도 나는 분명하지 않았습니다. 다음을 원합니다 :

1. 처음에는 버튼이 비활성화되고 두 개의 comboBox에 항목이 선택되지 않았습니다.

2.- 콤보 상자 중 하나에서 항목을 선택하면 단추의 IsEnabled 속성을 설정하는 데 사용되는 다중 바인딩을 실행해야합니다.

그리고 comboBox에서 새 항목을 선택하면이 과정이 반복됩니다.

내가 가진 문제는 버튼에 어떻게하면 콤보 상자에서 선택을 변경하면 버튼이 멀티 바인딩을 실행하여 IsEnabled 속성의 값을 결정해야 하는지를 알 수 없다는 것입니다. .

+1

멀티 바인딩 사용을 고려 했습니까? – McGarnagle

+1

이것 좀 봐 http://www.codeproject.com/Articles/328978/Introduction-to-multi-binding-and-multi-value-conv –

+0

정말 다중 값 변환기라고 말하면서 다중 바인딩이라고 말하고 싶었습니다. –

답변

1

하지만 콤보 상자 중 하나에서 선택 항목이 변경되면 변환기를 실행하는 방법을 알지 못합니다.

은 당신이 (제대로) INotifyPropertyChanged를 구현하는 클래스의 DependencyProperty에 값 또는 부분 중 하나입니다 바인딩을하고있는 값으로,이 자동으로 발생합니다. 값을 업데이트하기 위해 아무 것도 할 필요가 없습니다.

바인딩 된 값이 직접 사용 된 것처럼 알리고 WPF가 IMultiValueConverter 잘 사용하면이 문제를 처리합니다.

관련 문제