所有
希望有人在WPF中使用Awesomium,就像我现在所做的那样。
我有一个包含WebControl的WPF控件,我想动态设置源
然而,似乎设置.Source根本不起作用。它将始终保留在第一次设置源的页面中。
我现在使用的版本是Awesomium 1.7 Rc3
基本上我更新了Awesomium 1.7 Rc3 sdk,project
中提供的示例代码Xaml Part:
<Grid SnapsToDevicePixels="True">
<Grid.RowDefinitions>
<RowDefinition Height="auto"/>
<RowDefinition Height="auto"/>
</Grid.RowDefinitions>
<Button x:Name="btn" Click="Button_Click" Content="Navigate" Width="500" Height="100"/>
<awe:WebControl Grid.Row="1"
Name="webControl"
Source="http://stackoverflow.com"
ShowCreatedWebView="OnShowNewView" Width="900" Height="1000"/>
</Grid>
Code Behind就像
public MainWindow()
{
WebCore.Initialize( new WebConfig() { LogLevel = LogLevel.Verbose } );
InitializeComponent();
}
protected override void OnClosed( EventArgs e )
{
base.OnClosed( e );
webControl.Dispose();
WebCore.Shutdown();
}
private void OnShowNewView( object sender, ShowCreatedWebViewEventArgs e )
{
if ( !webControl.IsLive )
return;
e.Cancel = true;
webControl.Source = e.TargetURL;
}
static int i = 0;
private void Button_Click(object sender, RoutedEventArgs e)
{
if (i % 2 == 0)
this.webControl.Source = new Uri("http://yahoo.com.sg");
else
this.webControl.Source = new Uri("http://google.com.sg");
i++;
}
当我点击按钮时,我想webcontrol应该在雅虎和谷歌之间切换, 但是当我点击时没有任何反应。
答案 0 :(得分:3)
您的代码是正确的,并且正在使用API作为文档指示。然而,事实证明这是Awesomium 1.7RC3的一个错误。请参阅支持论坛中的this post。
您仍然可以在此版本中使用WebControl.LoadURL()。