【VisualC#】「WIndow_Loaded」を実行する方法

WPFアプリを作るサンプルソースを読んでいると次のようなソースを見ることがあるかと思います。

  • private void Window_Loaded
  • private void MainWindow_Loaded

関数名から、Windowを読み込んだ際に実行するという意味で書かれていると推測できます。
しかし、単純にcsファイルにスクリプトを書いても実行されません。

原因

Window_Loadedにしろ、MainWindow_Loadedにしろ、VisualC#が用意している関数ではありません。
そのため、関数だけ用意しても呼ばれることはありません。

修正方法

既に、「Window_Loaded」という関数を作成している前提で記載します。
MainWindow.xamlLoadedイベントをマッピングします。

XAMLを編集

デフォルトでは、「MainWindow.xaml」が選択された状態になっています。

デザインエリアに、XAMLのエディタ画面を選択します。
私の場合は、下に出力しています。

f:id:nakahashi_h:20180817170451p:plain

Windowタグの最後にLoadedイベントを追加し、「Window_Loaded」をマッピングします。

<Window x:Class="WpfApp1.MainWindow"
        xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
        xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
        xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
        xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
        xmlns:local="clr-namespace:WpfApp1"
        mc:Ignorable="d"
        Title="MainWindow" Height="450" Width="800"
        Loaded="Window_Loaded"> <!-- Loadedイベントを追加 -->
    <Grid>
        
    </Grid>
</Window>