- android - 多次调用 OnPrimaryClipChangedListener
- android - 无法更新 RecyclerView 中的 TextView 字段
- android.database.CursorIndexOutOfBoundsException : Index 0 requested, 光标大小为 0
- android - 使用 AppCompat 时,我们是否需要明确指定其 UI 组件(Spinner、EditText)颜色
我目前正在尝试在 WinRT 应用程序(不使用 C#)中显示 Web View 。首先,这可能吗?
我目前正在尝试这样做:
Windows::UI::Xaml::Controls::WebView^ webView = ref new Windows::UI::Xaml::Controls::WebView();
webView->NavigateToString("http://www.google.com");
但是因为我希望这段代码在主线程中运行(我认为,创建一个 UI 元素是强制性的)我是这样运行的:
Windows::ApplicationModel::Core::CoreApplication::MainView->CoreWindow->GetForCurrentThread()->Dispatcher->RunAsync(Windows::UI::Core::CoreDispatcherPriority::Normal, ref new Windows::UI::Core::DispatchedHandler(
[]
{
Windows::UI::Xaml::Controls::WebView^ webView = ref new Windows::UI::Xaml::Controls::WebView();
webView->NavigateToString("http://www.google.com");
}
));
不好的一点是这一行:
webView->NavigateToString("http://www.google.com");
从未达到。在输出控制台中,我在该行引发了三个异常(在逐步调试时):
Windows::UI::Xaml::Controls::WebView^ webView = ref new Windows::UI::Xaml::Controls::WebView();
引发的异常如下:
First-chance exception at 0x763B4B32 in Direct3DApp1.exe: Microsoft C++ exception: Platform::WrongThreadException ^ at memory location 0x0320EFE4. HRESULT:0x8001010E
First-chance exception at 0x763B4B32 in Direct3DApp1.exe: Microsoft C++ exception: Platform::WrongThreadException ^ at memory location 0x0320EFE4. HRESULT:0x8001010E
First-chance exception at 0x763B4B32 (KernelBase.dll) in Direct3DApp1.exe: 0x40080201: WinRT originate error (parameters: 0x8001010E, 0x00000051, 0x0320E494).
如果您知道如何在 Windows 8(而非 Windows Phone 8)上创建 Web View 并将其显示在纯 C++ 应用程序中,那就太好了。同时,我强烈考虑将 webkit 集成到我的应用程序中,如果它可以帮助我仅在 C++ 中显示 webkit webview。
谢谢
最佳答案
像这样使用 XAML:
<Page
x:Class="Win81CPlusPlus.MainPage"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:local="using:Win81CPlusPlus"
xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
mc:Ignorable="d">
<Grid Background="{ThemeResource ApplicationPageBackgroundThemeBrush}"
x:Name="grid">
</Grid>
</Page>
C++ 代码如下:
MainPage::MainPage()
{
InitializeComponent();
auto webView = ref new Windows::UI::Xaml::Controls::WebView();
Grid^ grid = safe_cast<Grid^>(this->FindName("grid"));
grid->Children->Append(webView);
auto uri = ref new Uri(L"http://www.stackoverflow.com");
webView->Navigate(uri);
// or you could ...
//webView->NavigateToString(L"<html><body><h1>Hello</h1></body></html>");
}
您可以构建、添加到父级并导航到 URL(或字符串)。
您也可以使用 Dispatcher
:
Windows::ApplicationModel::Core::CoreApplication::MainView->CoreWindow->GetForCurrentThread()->Dispatcher->RunAsync(Windows::UI::Core::CoreDispatcherPriority::Normal,
ref new Windows::UI::Core::DispatchedHandler(
[this] /* the this won't likely make sense from another thread */
{
auto webView = ref new Windows::UI::Xaml::Controls::WebView();
// will need to get access to the grid
auto grid = safe_cast<Grid^>(this->FindName("grid"));
grid->Children->Append(webView);
auto uri = ref new Uri(L"http://www.google.com");
webView->Navigate(uri);
//webView->NavigateToString("http://www.google.com");
}
));
问题是您需要访问将添加 WebView
实例的父元素。
关于c++ - WinRT W8 C++创建WebView并添加到主视图,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19837650/
我有一个基于 REST 的经典 springboot 应用程序。我想开始使用 Vaadin,以便直接从 java 代码创建 ui 组件。 我在他们的教程中发现,您必须使用 @Route('') 创建一
为了设计,我使用 Storyboard。主页 View Controller 包含单独 View 中的侧面菜单,我设计了带有 Collection View 的主页。对于侧面菜单,我使用包含 MyNa
我正在寻找如何为 UWP Win 10 应用程序构建主/详细 View 的好示例,如本页所示:https://msdn.microsoft.com/en-us/library/windows/apps
我遇到这个问题,在 iPhone 7 Plus 的横向模式下,当单击设备左侧表格 View 中的单元格时,内容会显示在表格 View 的顶部,或者替换表格 View .在这种情况下, Split Vi
我想改变我的主视图(不是按钮或 TextView )的背景颜色,只是通常是黑色的真实背景......我得到了这个代码: view.setBackgroundColor(0xfff00000); 这在
我正在尝试在 Android 应用程序中使用 Wikitude API,但相关文档很少。 那么,有什么办法可以在wikitude View 中添加一个action bar吗?还有一些按钮?因为我只看到
我正在尝试隐藏 navigationViewControleler 层次结构的桅杆 View Controller 中的工具栏。 我创建一个新的 ViewController 作为 RootViewC
已关闭。此问题不符合Stack Overflow guidelines .它目前不接受答案。 要求提供代码的问题必须表现出对所解决问题的最低限度理解。包括尝试过的解决方案、为什么它们不起作用,以及
我正在寻找实现可编辑详细 View 的可能性。我的应用程序有一个经典的主 -> 详细 View 设置。苹果文档(http://developer.apple.com/library/ios/#feat
我正在使用一个框架,该框架使用其特定控件创建 UIViewControllers。我无法访问其 Storyboard来手动修改它。有没有办法向其 View 添加标签之类的内容并正确定位它,即使 Vie
我有带 subview 和应用约束的 View Controller 。 问题:我想做的是以编程方式添加 ScrollView 只有 iPhone 4s 设备在 ScrollView 中具有 self
我有基本的主视图/详细 View 与默认的 ASP.NET MVC 路由配合得很好;但是我想构建一些这样的 URL: /Class/Details/5 -- General Detail view [
我需要在 Split View Controller 中更改 View Controllers 的宽度大小。我的意思是第一个 View Controller 的默认值是 320。第二个是 703。我需
我是一名优秀的程序员,十分优秀!