C# 如何在web浏览器控件上放置图像

C# 如何在web浏览器控件上放置图像,c#,windows-phone-7,C#,Windows Phone 7,在WindowsPhone7的web浏览器应用程序中,我在网格上创建了一个web浏览器控件(在xaml.cs中)。之后,我在网格上创建了一个图像。但当我在emulator中打开web浏览器时,该图像不可见。这是一个选项卡式浏览器但图像在网格中可见,但在web浏览器控件上不可见(调试应用程序后)。就像UC浏览器有这个东西一样。请查看以下图像,在网格上,图像可见,但在web浏览器控件上,图像不可见 In.xaml <Grid x:Name="LayoutRoot">

在WindowsPhone7的web浏览器应用程序中,我在网格上创建了一个web浏览器控件(在xaml.cs中)。之后,我在网格上创建了一个图像。但当我在emulator中打开web浏览器时,该图像不可见。这是一个选项卡式浏览器但图像在网格中可见,但在web浏览器控件上不可见(调试应用程序后)。就像UC浏览器有这个东西一样。请查看以下图像,在网格上,图像可见,但在web浏览器控件上,图像不可见


In.xaml

    <Grid x:Name="LayoutRoot">
    <Grid.RowDefinitions>
        <RowDefinition Height="Auto" />
        <RowDefinition Height="*" />
    </Grid.RowDefinitions>
    <TextBox x:Name="UrlTextBox" Background="White" InputScope="URL" KeyDown="UrlTextBox_KeyDown" Margin="0,0,98,0" GotFocus="UrlTextBox_GotFocus" LostFocus="UrlTextBox_LostFocus" KeyUp="UrlTextBox_KeyUp"/>
    <Grid x:Name="BrowserHost" 
      Grid.Row="1" GotFocus="BrowserHost_GotFocus">
        <Image x:Name="Full" Source="Images/full.png" Height="60" Width="60" Margin="430,678,0,0" MouseEnter="Full_MouseEnter" Visibility="Visible" />
    </Grid>

在Xaml.cs中

private void ShowTab(int index) 
{ 
    this.currentIndex = index;       
    UrlTextBox.Text = this.urls[this.currentIndex] ?? "Search"; 
    if (this.browsers[this.currentIndex] == null) 
    { 
        WebBrowser browser = new WebBrowser(); 
        this.browsers[this.currentIndex] = browser; 
        BrowserHost.Children.Add(browser); 
        browser.IsScriptEnabled = true; 
    } 
    for (int i = 0; i < NumTabs; i++) 
    { 
        if (this.browsers[i] != null) 
        { 
            this.browsers[i].Visibility = i == this.currentIndex ? Visibility.Visible : Visibility.Collapsed; 
        } 
    } 
} 
private void ShowTab(整数索引)
{ 
this.currentIndex=索引;
UrlTextBox.Text=this.urls[this.currentIndex]??“搜索”;
if(this.browsers[this.currentIndex]==null)
{ 
WebBrowser browser=新的WebBrowser();
this.browsers[this.currentIndex]=浏览器;
BrowserHost.Children.Add(浏览器);
browser.isscript enabled=true;
} 
对于(int i=0;i
我需要在我的web浏览器控件中显示该图像。有人能帮我吗


提前感谢您的辛勤工作

在一个全新的应用程序中,在MainPage.xaml中,我替换了

<Grid x:Name="ContentPanel" Grid.Row="1" Margin="12,0,12,0"></Grid>
这将导致出现如下显示:

这证明这是完全可能的。
不幸的是,您的问题(XAML)中的示例不完整,并且代码与您的实际问题(the.cs)没有任何关系,这使得您很难确切地说出为什么无法让它工作


此外,请在进一步发布之前阅读,并以便于他人帮助的方式询问将来的问题。

当您在代码中添加浏览器控件时,您将其放在图像的顶部。网格中需要一个容器来容纳控件。不过,最终,您可能应该尝试以Matt Lacey在上面所展示的方式在XAML中设置它

如果你想按自己的方式尝试,你需要这样的东西:


注意添加了网格“BrowserHolder”。由于该控件是首先添加的,因此添加到该控件的任何内容都应显示在图像后面

因此,您的代码将变成:

private void ShowTab(整数索引)
{ 
this.currentIndex=索引;
UrlTextBox.Text=this.urls[this.currentIndex]??“搜索”;
if(this.browsers[this.currentIndex]==null)
{ 
WebBrowser browser=新的WebBrowser();
this.browsers[this.currentIndex]=浏览器;
//注意:已更改为BrowserHolder
BrowserHolder.Children.Add(浏览器);
browser.isscript enabled=true;
} 
对于(int i=0;i
问题可能重复,请不要删除问题,然后重新提问。这对苏来说太糟糕了。有人能帮我吗?“我真的被这件事搞砸了。”马特莱西现在我用一些图片编辑了我的帖子,这些图片显示了我的问题。我真的需要你的帮助。@Robaticus现在我用一些图片编辑了我的帖子,这些图片显示了我的问题。我真的需要你的帮助。这就是问题所在,如果你看到我的帖子,你会注意到我没有通过.xaml创建web浏览器控件。首先,我创建了一个网格,然后通过代码(in.xaml.cs)添加了一个web浏览器控件。这就是图像不可见的原因。请帮忙!如果您是通过代码生成它们,请设置
Canvas.ZIndex
以确定/控制顶部的内容。真棒的Robaticus,它工作得非常好。非常感谢大家。
<Grid x:Name="ContentPanel" Grid.Row="1" Margin="12,0,12,0">
    <phone:WebBrowser x:Name="theBrowser" />
    <Image Source="/Background.png"
           Stretch="None"
           HorizontalAlignment="Left"
           VerticalAlignment="Bottom" />
</Grid>
theBrowser.Navigate(new Uri("http://stackoverflow.com/"));