基于WPF開發(fā)txt閱讀器
需求分析
盡管現(xiàn)在比較主流的閱讀格式已經是epub, modi
之類的,但txt
的使用范圍要遠比前兩者廣泛,所以做一個txt閱讀器還是有必要的。
但是對于書籍閱讀而言,純文本不包含目錄信息,這對于閱讀來說是一種困擾。所以想做一個txt
閱讀器,首先要解決的痛點問題,就是目錄生成。
根據這個簡單的需求,可以將界面設置為下面這種結構
當然,暫時設置這幾種色彩,只是為了做個標記,左側淺綠色用于存放文件名,左下角淺藍色用于放置txt
目錄;右側淺粉色用于放置一些系統(tǒng)設置,比如字體、背景、自動閱讀等。
中間用于顯示當前的閱讀內容。
最上方并沒有使用傳統(tǒng)的菜單,而是工具欄,????兩個手用于打開和關閉左側工具欄和右側工具欄。
導入用于打開文件夾,并導入文件夾中的txt
文件;打開則用于打開單個的txt
文件;保存
用于存儲修改后的txt
文本。
布局代碼如下
<DockPanel LastChildFill="True"> <ToolBar DockPanel.Dock="Top"> <Button Content="??"/> <Button Content="導入"/> <Button Content="打開" Click="btnOpenTxt_Click"/> <Button Content="保存" Click="btnSaveTxt_Click"/> <Button Content="??"/> </ToolBar> <UniformGrid DockPanel.Dock="Left" Width="200" Columns="1"> <ScrollViewer Margin="2"> </ScrollViewer> <ScrollViewer Margin="2"> </ScrollViewer> </UniformGrid> <StackPanel DockPanel.Dock="Right" Width="200"> </StackPanel> <GroupBox x:Name="gbTxt" Header="無文件"> <TextBox x:Name="txt" TextWrapping="Wrap" VerticalScrollBarVisibility="Auto"> </TextBox> </GroupBox> </DockPanel>
讀取文本文件
最基礎的功能當然是打開/保存txt
文件,這里主要涉及到兩個知識點,即文件對話框和文本文件讀寫。
首先為打開
按鈕添加btnOpenTxt_Click
事件,其內容為
private void btnOpenTxt_Click(object sender, RoutedEventArgs e) { var ofd = new OpenFileDialog(); ofd.Filter = "文本文件(*.txt)|*.txt"; if (ofd.ShowDialog()!=true) return; gbTxt.Header = System.IO.Path.GetFileName(ofd.FileName); txt.Text = File.ReadAllText(ofd.FileName, Encoding.Unicode); }
其中,txt
文本框的名字;gbTxt
是包裹txt
的GroupBox
,上面代碼的功能是,打開文本文件后,將文本文件的名字設置為GroupBox
的標題,然后導入文本文件的內容到txt
。
效果如下
保存文本文件
保存功能與此類似,為保存
按鈕添加btnSaveTxt_Click
事件,C#代碼如下
private void btnSaveTxt_Click(object sender, RoutedEventArgs e) { var sfd = new SaveFileDialog(); sfd.Filter = "文本文件(*.txt)|*.txt"; if(sfd.ShowDialog()!=true) return; File.WriteAllText(sfd.FileName, txt.Text, Encoding.UTF8); }
到此這篇關于基于WPF開發(fā)txt閱讀器的文章就介紹到這了,更多相關WPF閱讀器內容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關文章希望大家以后多多支持腳本之家!
相關文章
asp.net(C#)清除全部Session與單個Session的方法
下面小編就為大家?guī)硪黄猘sp.net(C#)清除全部Session與單個Session的方法。小編覺得挺不錯的,現(xiàn)在就分享給大家,也給大家做個參考。一起跟隨小編過來看看吧2016-12-12