2017-08-24 3 views
0

メインウィンドウが読み込まれたときにポップアップを開くWPFアプリケーションがあります。問題は、Visual Studio 2013のソリューションエクスプローラで.xamlファイルを選択したときに、が実行されていなくてもポップアップ "ポップ"が選択されたときです。ビジュアライザーはページレイアウトをレンダリングするためにコードを実行する必要があるので、意図した動作であると思われますが、今はページをロードするたびに閉じる必要があります。一時的にこのポップアップを無効にすることはできませんアプリケーションのロジックを開始します(場所の選択、...)。ここで WPFアプリケーションが実行中かVisual Studioウィンドウビジュアライザであるかを検出

は、私はビジュアライザにいる場合、アプリケーションが実行されているかどうかを知る方法はありますかポップアップ・トリガー

public GeneralProcess() //usercontrol 
{ 
    InitializeComponent(); 
    Loaded += GeneralProcess_Loaded; 
} 

void GeneralProcess_Loaded(object sender, RoutedEventArgs e) 
{ 
    var popup = new StationSelect(); 
    popup.Owner = Window.GetWindow(this); 
    popup.ShowDialog(); 
} 

のコードである、またはちょうどのためLoadedイベントを無効にする方法がありますビジュアルスタジオ?目標は、簡単に編集できるようにページを表示できることです。

EDIT:この質問は重複しています。しかし、this answerが私のために働いた。

+0

可能な重複https://stackoverflow.com/questions/73515/how-to-tell-if-net-code- is-being-run-by-visual-studio-designer) – Goufalite

答えて

1
void GeneralProcess_Loaded(object sender, RoutedEventArgs e) 
{ 
    if (DesignerProperties.GetIsInDesignMode(this)) 
     return; 
    var popup = new StationSelect(); 
    popup.Owner = Window.GetWindow(this); 
    popup.ShowDialog(); 
} 
([.NETコードは、Visual Studioのデザイナーによって運営されている場合はどのように伝えるために]の
+0

動作しません: 'IsInDesignTool'が定義されていません。私は.NET 4.5です。しかし素晴らしいアプローチですが、私はこのDesignerPropertiesでさらに検索します。 – Goufalite

+0

回答あり;) – Isma

+1

ありがとうございました!ここに来た人は、プロジェクトを再構築してから、.xamlファイルを再オープンしてください。 – Goufalite

関連する問題