2011-11-10 4 views
0

xaml에 STYLE을 사용하여 다음 코드를 작성할 수 있습니까? 이것이 내가 IDE의 앞에 아니에요 메모리에서 코드에 노력하고 있습니다로 그대로 작동하는지WPF 스타일 사용 문제

cmbEnquiry.IsEnabled = (txtQuotationNo.IsEnabled && txtQuotationNo.IsReadOnly == false); 
+0

스타일 내에서 다중 변수 데이터 바인딩을 사용해야합니다. –

+0

코드 샘플 plz? 또는 xaml 코드에서 위의 컨트롤을 사용할 수 있습니다. –

+1

게으르지 말고, 그냥 멀티 스타일 트리거를 사용하십시오. – blindmeis

답변

1

는 잘 모르겠지만, 다른 건 몰라도, 그것은 MultiBinding에 대한 예제 역할을합니다 . 자원에서

:

<local:AndNotConverter x:Key="AndNotConverter" /> 
<Style ...> 
    <Setter Property="IsEnabled"> 
     <Setter.Value> 
      <MultiBinding Converter="{StaticResource AndNotConverter}"> 
       <Binding ElementName="txtQuotationNo" Path="IsEnabled" /> 
       <Binding ElementName="txtQuotationNo" Path="IsReadOnly" /> 
      </MultiBinding> 
     </Setter.Value> 
    </Setter> 
</Style 

코드 숨김에서 :

public class AndNotConverter : IMultiValueConverter 
{ 
    public object Convert(object[] values, Type targetType, object parameter, 
     System.Globalization.CultureInfo culture) 
    { 
     return (bool)values[0] && !((bool)values[1]); 
    } 

    public object[] ConvertBack(object value, Type[] targetTypes, object parameter, 
     System.Globalization.CultureInfo culture) 
    { 
     throw new NotImplementedException(); 
    } 
} 

편집 :

그냥 코드를 확인하고 예상대로 작동합니다.

+0

그건 Supperb입니다! 꿈처럼 일했다 .... –

+0

다행히 도울 수있다. –