2012-09-19 19 views
5

मैं एक Button और उसके स्टाइल है:बटन IsEnabled उत्प्रेरक काम नहीं करता है

<Button Name="MyBtn" Style="{StaticResource ButtonEnabledStyle}" 
     IsEnabled="False" Opacity="1" /> 

<Style x:Key="ButtonEnabledStyle" TargetType="Button"> 
    <Style.Triggers> 
     <Trigger Property="IsEnabled" Value="True" > 
      <Setter Property="Opacity" Value="0.1" /> 
     </Trigger> 
    </Style.Triggers> 
</Style> 

लेकिन यह इसकी अस्पष्टता परिवर्तन नहीं होता है जब मैं बटन (MyBtn.IsEnabled = true) सक्षम करें। क्यूं कर? इस समस्या का समाधान किस प्रकार से किया जा सकता है? धन्यवाद।

+0

जो बिंदु पर आप MyBtn.IsEnabled = सच बुला रहे हैं:

एक आसान ठीक बजाय शैली पर डिफ़ॉल्ट मान सेट करने के लिए है? स्टाइल शुरू होने से पहले शायद? – Vale

+0

@ वैले नंबर, जब मैं किसी अन्य बटन पर क्लिक करता हूं, तो कॉल पहले ही लोड हो चुका है। – Nick

उत्तर

15

तत्व पर एक स्थानीय मूल्य सेट (Opacity="1" आपके कोड में) हमेशा शैली या शैली ट्रिगर मूल्य पर प्राथमिकता लेगा। कृपया Dependency Property Setting Precedence List पर एक नज़र डालें।

<Style x:Key="ButtonEnabledStyle" TargetType="Button"> 
    <Setter Property="Opacity" Value="1.0" /> 
    <Style.Triggers> 
    <Trigger Property="IsEnabled" Value="True" > 
     <Setter Property="Opacity" Value="0.1" /> 
    </Trigger> 
    </Style.Triggers> 
</Style> 
संबंधित मुद्दे