RichEditBox不会加载ANSI编码的文档,但会加载所有其他unicode编码的文本文档。这是下面的代码
FileOpenPicker fileopenpicker = new FileOpenPicker();
fileopenpicker.SuggestedStartLocation = PickerLocationId.Desktop;
fileopenpicker.FileTypeFilter.Add(".txt");
fileopenpicker.ViewMode = PickerViewMode.Thumbnail;
OpenedStorageFile = await fileopenpicker.PickSingleFileAsync();
if (OpenedStorageFile != null)
{
try
{
IRandomAccessStream randomAccStream = await OpenedStorageFile.OpenAsync(FileAccessMode.Read);
EditorRichEditBox.Document.LoadFromStream(TextSetOptions.None, randomAccStream);
}
catch (Exception ex)
{
MessageDialog md = new MessageDialog(ex.Message);
await md.ShowAsync();
}
答案 0 :(得分:0)
使用StreamReader和EditorRichEditBox.Document.SetText将帮助您读取ANSI和unicode编码的文本文档。
FileOpenPicker fileopenpicker = new FileOpenPicker();
fileopenpicker.SuggestedStartLocation = PickerLocationId.Desktop;
fileopenpicker.FileTypeFilter.Add(".txt");
fileopenpicker.ViewMode = PickerViewMode.Thumbnail;
StorageFile OpenedStorageFile = await fileopenpicker.PickSingleFileAsync();
if (OpenedStorageFile != null)
{
try
{
IRandomAccessStream randomAccStream = await OpenedStorageFile.OpenAsync(FileAccessMode.Read);
var st = randomAccStream.AsStream();
StreamReader sr = new StreamReader(st);
string s = await sr.ReadToEndAsync();
EditorRichEditBox.Document.SetText(TextSetOptions.None, s);
}
catch (Exception ex)
{
MessageDialog md = new MessageDialog(ex.Message);
await md.ShowAsync();
}
}