だるろぐ

明日できることは、今日しない。

WPFでバージョン情報ダイアログをつくる

VisualBasic では My.Aoolication.Info でバージョン情報なんかを簡単に取得できるらしい。これを使えば簡単にバージョン情報ダイアログを実装できそうだな。これを C# から使ってみよう。

http://msdn.microsoft.com/ja-jp/library/0f1ec0yf(v=vs.80).aspx

Microsoft.VisualBasic を参照に追加して、using してあげる。そして、Loaded イベントで DataContext に AssemblyInfo オブジェクトを割り当ててあげる。

using Microsoft.VisualBasic.ApplicationServices;

namespace Type08ScreenCapture
{
    /// <summary>
    /// MainWindow.xaml の相互作用ロジック
    /// </summary>
    public partial class MainWindow : Window
    {
        public MainWindow()
        {
            InitializeComponent();
        }

        private void Window_Loaded(
            object sender, RoutedEventArgs e)
        {
            DataContext = new AssemblyInfo(
               System.Reflection.Assembly.GetExecutingAssembly());
        }
:
:

あとは XAML 側でバインディングしていく。

f:id:daruyanagi:20120312003119p:plain

<TextBlock Margin="24" Text="{Binding ProductName}" />

バインディングヒャッホイ!

「08式机上撮影機(Type08ScreenCapture)」を公開しました - だるろぐ で使ってみたのだけど、WinForm のコードよりもすっきりしていていい感じだ。