Awesomium WPF WebControl设置.Source属性不起作用

时间:2012-11-23 07:40:41

标签: wpf web-controls awesomium

所有

希望有人在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应该在雅虎和谷歌之间切换, 但是当我点击时没有任何反应。

1 个答案:

答案 0 :(得分:3)

您的代码是正确的,并且正在使用API​​作为文档指示。然而,事实证明这是Awesomium 1.7RC3的一个错误。请参阅支持论坛中的this post

您仍然可以在此版本中使用WebControl.LoadURL()