2012年12月9日日曜日

テキストをファイルに保存する

TextBox に入力したテキストを、ファイルを指定して保存します。
メニューバーの「名前を付けて保存」をクリックすると、ファイル保存ダイアログ SaveFileDialog が開きます。
TextBoxのプロパティ AcceptsReturn を True にすると テキストボックス内で Enterキーで改行ができるようになります。



MainWindow.xaml

<Window x:Class="SaveText.MainWindow"
        xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
        xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
        Height="200" Width="300">
    <Window.CommandBindings>
        <CommandBinding Command="SaveAs" Executed="SaveAsCommandHandler" />
    </Window.CommandBindings>
    <Grid>
        <Grid.RowDefinitions>
            <RowDefinition Height="Auto"/>
            <RowDefinition Height="*"/>
        </Grid.RowDefinitions>
        <Menu Grid.Row="0">
            <MenuItem Command="SaveAs"/>
        </Menu>
        <TextBox Grid.Row="1" Name="textbox1" AcceptsReturn="True" />
    </Grid>
</Window>

MainWindow.xaml.cs

using Microsoft.Win32;
using System.IO;
using System.Windows;
using System.Windows.Input;

namespace SaveText
{
    public partial class MainWindow : Window
    {
        public MainWindow()
        {
            InitializeComponent();
        }

        private void SaveAsCommandHandler(object sender, ExecutedRoutedEventArgs e)
        {
            SaveFileDialog sfd = new SaveFileDialog();
            if (sfd.ShowDialog() == true)
            {
                File.WriteAllText(sfd.FileName, this.textbox1.Text);
            }
        }
    }
}

0 件のコメント:

コメントを投稿