2017-12-15 9 views
0

TabControlでWPFアプリケーションを開発しています。このTabControlのTabItem内で、私はいくつかのことをするためにLeftButtonMouseDownEventに反応するEventTriggersを実装しました。私の問題は、Visual Studioのデザイン時にイベントがトリガされ、デザインウィンドウのそれ以上のやりとりをブロックするように見えるということです。デザイン時にトリガーを無効にする

Visual Studioがデザイン時にトリガーを無視する可能性はありますか?純粋なXAMLでこれを行うことをお勧めします。私は "mc:Ignorable"タグが存在することを知っていますが、私はそれを逆にしたいと思います。必要な場合は、コードスニペットを投稿しました。

ありがとうございました!

<TabItem> 
    <i:Interaction.Triggers> 
     <i:EventTrigger EventName="MouseLeftButtonDown"> 
      <SomeAction/> 
     </i:EventTrigger> 
    </i:Interaction.Triggers> 
</TabItem> 

答えて

0

私はxamlでこれを行う方法はわかりませんが、SomeActionコードを追加することで問題を解決できます。

var isInDesignMode = DesignerProperties.GetIsInDesignMode(new DependencyObject()); 
if(isInDesignMode) 
{ 
    // using in VisualStudio or Blend 
} 
else 
{ 
    // using in application 
} 
+0

これは、私のコードでのアクションを処理したくないので、これは私にはあまり役に立ちません。それらは私が影響を及ぼさないアクションです.Xamlで直接呼び出さなければなりません。そして、私はこれらのトリガー/アクションをコードの背後につけるという大きなファンではありません。 – Febertson

+0

[質問](https://stackoverflow.com/questions/2764415/how-to-give-the-condition-for-eventtrigger)を見たことがありますか? –

+0

私に質問を見せてくれてありがとうが、私はそれと同じ問題があるとは思わない。それは近いですが、主な違いは、彼の問題はランタイム中で、私のものはデザイナーにあるということです。そして、私はデザインタイムで動作するConditon-Bindingsを書くことを望んでいませんが、ランタイム中(私がまだ予測できないいくつかの奇妙な機会に)XAMLを壊すかもしれません。 – Febertson

関連する問題