2011-11-10 8 views
0

xamlにSTYLEを使用して次のコードを記述できますか?これは私がIDEの前にいないんだし、メモリからのコードにしようとしているようであるように動作するかどうWPFでスタイルを使用する際の問題

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

あなたのスタイル内で多変数データバインディングを使用する必要があります –

+0

任意のコードサンプルplz?またはxamlコードで上記のコントロールを使用することができるかもしれません –

+1

怠け者ではない、ちょうどGoogleのスタイルのマルチバインディングトリガー – 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

うれしい –

関連する問題