2016-08-02 5 views
1

こんにちは内のTabItemにCSコードでスタイルを割り当て、私はXAMLでカスタムスタイルを作成しました:は、WPF

<Application.Resources> 
     <Style x:Key="TabEnabledEffect" TargetType="{x:Type TabItem}"> 
      <Style.Triggers> 
       <Trigger Property="IsEnabled" Value="false"> 
        <Setter Property="BitmapEffect"> 
         <Setter.Value> 
          <DropShadowBitmapEffect ShadowDepth="10" Color="Orange" Direction="90" /> 
         </Setter.Value> 
        </Setter> 
       </Trigger> 
      </Style.Triggers> 
     </Style> 
    </Application.Resources> 

とCSファイル内: 私は名前を "TAB1" とのTabItemを持っていますそして、イムは、次のコードでbutton_clickイベントでそれにそのスタイルを割り当てるしようとしている:

tab1.Style = (Style)FindResource("TabEnabledEffect");

そして、それは例外を取得イム実行後:助けてください

とNullReferenceException {「オブジェクトのインスタンスに設定されていないオブジェクト参照。」}

。 ありがとうございます

+1

をロードした後、コードの下に書き込むことで、スタイルを割り当てることができます;'や 'App.Current.FindResource( "TabEnabledEffect" )スタイルとして; ' – bit

+0

それは、Thanx働いた! @ビット –

答えて

0

あなたのコードの場所によって異なります。では、あなたが持っていたコードの行を使用することができ、あなたのコードビハインドファイル:

tab1.Style = this.FindeResource("TabEnabledEffect") as Style; 

あなたが他のファイルにある場合、あなたが@bitが言及したステートメントを使用する必要があります。

tab1.Style = Application.Current.FindResource("TabEnabledEffect") as Style; 
0

あなたがかもしれません使用したいアプリケーションレベルでリソースを宣言しているので、

Application.Current.FindResource("TabEnabledEffect") as Style; 

があります。

0

あなたがスタイルとして `Application.Current.FindResource( "TabEnabledEffect")を試してみてくださいInitializeComponent()方法

control_name.style=this.FindResource("style_name")