[Silverlight] Tips : 境界線なしの Out of Browser アプリケーションを終了する方法

Silverlight の Out of Browser についての Tips をいくつか書いてます(時間かかりすぎだが・・・)。


前回 の続きとして、Silverlight の境界線なし Out of Browser アプリを終了する方法です。
紹介しますと言って、メチャメチャ簡単なんですが。
コードは2行です。

境界線なしの OOB アプリを終了する方法を用意しなければならないのは、実行中のアプリの画面を見ればすぐわかります。

image

タイトルバーがないために [閉じる] ボタンもありません。これじゃアプリを終われません。


結論から言うと、MainWindow を Close するだけです。
ただし In Browser でこれを実行しても意味がないので、IsRunningOutOfBrowser の確認をします。
これだけです。

例えば、Button の Click イベントハンドラであればこうなります。

private void CloseButton_Click(object sender, RoutedEventArgs e) { if (Application.Current.IsRunningOutOfBrowser) Application.Current.MainWindow.Close(); }

 


一応、 前の投稿 の「見た目がわかりやすいアプリ」にボタンを一つ追加してみます。

せっかくの Silverlight アプリですから、当然本来であればもっと見栄えのするボタンを貼るべきでしょうが、とりあえず地味な Button だと、こんな風にするのはどうでしょう。

image

念のため、ソースコード(XAML)も載せておきます。

<UserControl x:Class="OobWinStyle.MainPage"
    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"
    mc:Ignorable="d"
    d:DesignHeight="300" d:DesignWidth="400">

    <Grid x:Name="LayoutRoot" Background="Wheat">
        <Rectangle Name="DragArea" Width="400" Height="51" Stroke="Black" StrokeThickness="1" HorizontalAlignment="Left" VerticalAlignment="Top"
                   Fill="MidnightBlue" MouseLeftButtonDown="DragArea_MouseLeftButtonDown" />
        <Button Name="CloseButton" Content="×" Width="33" Height="30" Margin="0,12,8,0" HorizontalAlignment="Right" VerticalAlignment="Top"
                FontSize="16" Click="CloseButton_Click" />
    </Grid>
</UserControl>

境界線なしの Out of Browser アプリでも、ウィンドウ移動もアプリ終了も非常に簡単です。

これで見栄えのするアプリケーションが作り放題です(そこの紹介はできません、あしからず)。

広告
カテゴリー: Silverlight タグ: , パーマリンク

コメントを残す

以下に詳細を記入するか、アイコンをクリックしてログインしてください。

WordPress.com ロゴ

WordPress.com アカウントを使ってコメントしています。 ログアウト / 変更 )

Twitter 画像

Twitter アカウントを使ってコメントしています。 ログアウト / 変更 )

Facebook の写真

Facebook アカウントを使ってコメントしています。 ログアウト / 変更 )

Google+ フォト

Google+ アカウントを使ってコメントしています。 ログアウト / 変更 )

%s と連携中