You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

UWP C#中OnFileActivated无法加载TXT内容至RichEditBox问题

修复UWP应用OnFileActivated加载文本到RichEditBox失效的问题

嘿,我找到你代码里的关键问题了!你现在的代码之所以没法把文件内容显示到RichEditBox里,核心原因是你操作了一个错误的MainPage实例,咱们一步步来修正:

问题出在哪?

在OnNavigatedTo方法里,你写了await new MainPage().LoadTextFile(file);——这里你新建了一个MainPage对象,但这个对象和当前界面上显示的MainPage完全是两个独立的实例!所以你调用的LoadTextFile只是修改了那个看不见的新页面,自然不会在界面上有任何反应。另外,参数的处理也可以更直接,不用绕弯子转成IActivatedEventArgs。

修正后的完整代码

1. 更新App.xaml.cs中的OnNavigatedTo方法

我们要获取导航后实际显示在界面上的MainPage实例,而不是新建一个:

async void OnNavigatedTo(object sender, NavigationEventArgs e)
{
    // 直接拿到导航传递过来的FileActivatedEventArgs参数
    var fileArgs = e.Parameter as FileActivatedEventArgs;
    if (fileArgs != null 
        && fileArgs.Kind == ActivationKind.File 
        && fileArgs.Files.Count > 0)
    {
        var targetFile = fileArgs.Files[0] as StorageFile;
        if (targetFile != null)
        {
            // 获取当前Frame里的MainPage实例(就是界面上显示的那个)
            var currentMainPage = (sender as Frame).Content as MainPage;
            if (currentMainPage != null)
            {
                await currentMainPage.LoadTextFile(targetFile);
            }
        }
    }
}

2. 给MainPage的RichEditBox命名

打开MainPage.xaml,确保你的RichEditBox有x:Name属性,这样后台代码才能找到它:

<RichEditBox x:Name="editorBox" Margin="12,12,0,0" />

3. 完善MainPage的LoadTextFile方法

现在可以放心操作界面上的RichEditBox了,同时保持标题栏的逻辑:

public async Task LoadTextFile(StorageFile file)
{
    // 读取文件内容
    string fileContent = await FileIO.ReadTextAsync(file);
    
    // 更新文件路径和标题栏
    current_path = file.Path;
    current_file = file.Name;
    var appView = Windows.UI.ViewManagement.ApplicationView.GetForCurrentView();
    appView.Title = current_path;

    // 将内容写入RichEditBox
    editorBox.Document.SetText(Windows.UI.Text.TextSetOptions.None, fileContent);
}

额外小建议

  • 可以加一些异常处理,比如捕获文件读取失败的情况,提升应用稳定性
  • 如果想支持同时打开多个.txt文件,可以遍历fileArgs.Files集合逐个处理

这样修改后,再用“打开方式”选择你的应用打开txt文件,就能看到文件内容正常显示在RichEditBox里,标题栏的路径也能正常工作啦!

内容的提问来源于stack exchange,提问作者Miguel Genaro

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.21 03:45:20