RicheditBox 不加载 ANSI 编码的文档

RicheditBox doesn't load ANSI encoded Document

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();
 }

使用 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();
    }
}