C# 从richtextblock中代码生成的超链接导航到新帧
我正在开发一个维基百科应用程序,我想点击一个超链接,然后用点击的页面内容重新加载框架。当我尝试在单击事件处理程序中使用C# 从richtextblock中代码生成的超链接导航到新帧,c#,uwp,C#,Uwp,我正在开发一个维基百科应用程序,我想点击一个超链接,然后用点击的页面内容重新加载框架。当我尝试在单击事件处理程序中使用Frame.Navigate(typeof(page))时,出现“非静态字段需要对象引用”编译器错误 我更加困惑,因为如果我在XAML中创建一个按钮并将相同的代码传递到click事件处理程序中,导航就会成功 这是我用于超链接的click事件处理程序的方法: private static async void Hyperlink_Click(Hyperlink sender, Hy
Frame.Navigate(typeof(page))
时,出现“非静态字段需要对象引用”编译器错误
我更加困惑,因为如果我在XAML中创建一个按钮并将相同的代码传递到click事件处理程序中,导航就会成功
这是我用于超链接的click事件处理程序的方法:
private static async void Hyperlink_Click(Hyperlink sender, HyperlinkClickEventArgs args)
{
//Get hyperlink text to query API
string hyperLinktext = (sender?.Inlines[0] as Run)?.Text
//Parse content and store in object
WikiContent_Rootobject rootobj = await
GetPageContentFromHyperlink(hyperlinktext)
//Attempt to navigate to 'ContentPage' and send rootobj
Frame.Navigate(typeof(ContentPage), rootobj)
}
所以我的问题是:为什么这种导航方法在这种情况下不起作用
谢谢你的帮助
无法在静态方法中调用实例方法。你能告诉我为什么要做静态事件处理程序吗?在我这边,超链接单击事件是实例方法。我将其作为静态事件创建,因为当我点击tab时,visual studio就是这样创建的。我通过删除静态,然后创建页面的新实例并通过实例调用事件处理程序来处理事件处理程序。在这种情况下,程序将运行,但我在单击时遇到一个对象引用,该引用未设置为对象异常的实例。我看到你的屏幕很短。我发现您将
contentpg.Hyperlink\u Click
事件处理程序添加到Hyperlink
Click
事件中,在第二个简短屏幕中,Hyperlink\u Click
方法是私有的。我不知道如何从contentpg实例获取它?Hyperlink\u Click
在ContentPage.xaml.cs
中定义,在公共密封部分类ContentPage:Page
中。我想如果我不能使用静态方法,我需要创建这个类的一个新实例,以便访问Hyperlink\u Click
事件处理程序。我已尝试将Hyperlink\u Click
设置为public,但我仍然得到未设置为对象异常实例的相同对象引用。请共享迷你代码示例。否则,我们很难根据不完整的信息给出答案。