如何在Windows Phone中将一个元素放在其他元素上

时间:2014-06-03 07:33:34

标签: windows-phone-7 windows-phone-8

我正在使用Grid视图,并定义了两个元素WebBrowserImage,以包含在Grid内。

<Grid x:Name="ContentPanel" Background="Black">
            <phone:WebBrowser Name="WebView"
                              IsScriptEnabled="True"
                              Grid.Row="0"
                              IsGeolocationEnabled="True"
                              ScriptNotify="webView_ScriptNotify"
                              NavigationFailed="webView_NavigationFailed"
                              Navigated="webView_Navigated"
                              Navigating="webView_Navigating"
                              VerticalAlignment="Top"
                              LoadCompleted="WebView_LoadCompleted"
                              Canvas.Top="0"
                              Canvas.Left="0"
                              Height="{Binding ActualHeight, ElementName=LayoutRoot}"
                              Width="{Binding ActualWidth, ElementName=LayoutRoot}">
            </phone:WebBrowser>
            <Image  Name="StartLogo" Source="/Assets/StartScreen3.png" Stretch="None" VerticalAlignment="Bottom" HorizontalAlignment="Center"></Image>
        </Grid>

我希望图像来自底部的WebBrowser视图。但是随着WebBrowser的可见,Image并没有出现。有人可以帮我解决它。我不想将WebBrowser的大小调整到更小的高度。

网格中定义元素的顺序如何影响视图?

修改

我使用Canvas来包含这两个。现在工作正常。

3 个答案:

答案 0 :(得分:0)

应该显示图像,因为您的代码显然没有任何问题。可能是图像颜色和打开的网页颜色相同,这就是图像可能不可见的原因。或图像路径或图像构建动作的某些问题。

最后一个UI元素将位于网格中的所有其他UI元素的顶部。根据你的xaml图像控件将是webbrowser控件的顶部,但在网格的底部。

答案 1 :(得分:0)

您的代码中没有错误,但如果您遇到此问题仍然存在 试试这个:

<Grid x:Name="ContentPanel" Grid.Row="1" Margin="12,0,12,0">
            <Grid.RowDefinitions>
                <RowDefinition></RowDefinition>
                <RowDefinition></RowDefinition>
            </Grid.RowDefinitions>
            <phone:WebBrowser Name="WebView"
                              IsScriptEnabled="True"
                              Grid.Row="0"
                              Grid.RowSpan="2"
                              IsGeolocationEnabled="True"
                              ScriptNotify="webView_ScriptNotify"
                              NavigationFailed="webView_NavigationFailed"
                              Navigated="webView_Navigated"
                              Navigating="webView_Navigating"
                              VerticalAlignment="Top"
                              LoadCompleted="WebView_LoadCompleted"
                              Canvas.Top="0"
                              Canvas.Left="0"
                              Height="{Binding ActualHeight, ElementName=LayoutRoot}"
                              Width="{Binding ActualWidth, ElementName=LayoutRoot}">
            </phone:WebBrowser>
            <Image  Name="StartLogo" Source="/Assets/ApplicationIcon.png" Stretch="None" VerticalAlignment="Bottom" HorizontalAlignment="Center" Grid.Row="1"></Image>
        </Grid>

定义UI元素的顺序重叠Previos定义的控件

答案 2 :(得分:0)

如果在设计模式下右键单击对象,您应该能够在应用程序页面上订购对象吗?