読者です 読者をやめる 読者になる 読者になる

たぷつきません

おなかがでてきた。もうたぷついてるやん。

バージョン情報ダイアログの作り方

 最初Googleで検索したらWPFでの作り方の紹介サイトの実装方法がダサかったりするので「WPFXamlらしい」やり方を書き残す。どうせまた僕は時間が経つと忘れるから。

AboutBoxWindow.xaml.cs
public partial class AboutBoxWindow: Window
{
    public AboutBoxWindow()
    {
        InitializeComponent();
        this.DataContext = this;
        this.FileVersionInfo =
            FileVersionInfo.GetVersionInfo(Environment.GetCommandLineArgs()[0]);
    }
    
    public FileVersionInfo FileVersionInfo
    {
        get { return (FileVersionInfo)GetValue(FileVersionInfoProperty); }
        set { SetValue(FileVersionInfoProperty, value); }
    }
    
    public static readonly DependencyProperty FileVersionInfoProperty =
        DependencyProperty.Register("FileVersionInfo", typeof(FileVersionInfo),
            typeof(AboutBoxWindow), new UIPropertyMetadata(null));
}
AboutBoxWindow.xaml
<TextBlock LineHeight="16" Padding="4" DataContext="{Binding FileVersionInfo}">
    <TextBlock.Inlines>
        製品名:<LineBreak/>
        <TextBlock Margin="8,0,0,4" Text="{Binding ProductName}"/><LineBreak/>
        製品バージョン番号:<LineBreak/>
        <TextBlock Margin="8,0,0,4" Text="{Binding ProductVersion}"/><LineBreak/>
        著作権情報:<LineBreak/>
        <TextBlock Margin="8,0,0,4" Text="{Binding LegalCopyright}"/><LineBreak/>
    </TextBlock.Inlines>
</TextBlock>

ちなみに「デバッグ構成でVisual Studioホスティングプロセスを有効に」していると、デバッグ時はVisualStudioのプロセスのバージョンリソースが出ちゃう。