Я попытался установить свойство Canvas.ZIndex, но при прокрутке HTML-код в элементе управления webBrowser все еще находится над строкой меню в навигационном приложении Silverlight.
Вы можете увидеть пример кода ниже:
Я только что создал пустое приложение навигации Silverlight и добавил следующее в Home.XAML:
<navigation:Page x:Class="Test.Home"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:d="http://schemas.microsoft.com/expression/blend/2008" xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
xmlns:navigation="clr-namespace:System.Windows.Controls;assembly=System.Windows.Controls.Navigation"
mc:Ignorable="d" d:DesignWidth="640" d:DesignHeight="480"
Title="Home"
Style="{StaticResource PageStyle}" Canvas.ZIndex="1">
<Grid x:Name="LayoutRoot">
<ScrollViewer x:Name="PageScrollViewer" Style="{StaticResource PageScrollViewerStyle}">
<StackPanel x:Name="ContentStackPanel">
<TextBlock x:Name="HeaderText" Style="{StaticResource HeaderTextStyle}"
Text="Home Content"/>
<TextBlock x:Name="lblInstructions" Style="{StaticResource ContentTextStyle}"
Text="Instructions "/>
<WebBrowser Name="HTMLContent" Height="850" Width="600" Canvas.ZIndex="0" />
<TextBlock x:Name="lblScribble" Style="{StaticResource ContentTextStyle}"
Text="Scribble here "/>
<InkPresenter Name="inkPresenter1" DataContext="{Binding}" Cursor="Stylus" Opacity="1" />
</StackPanel>
</ScrollViewer>
</Grid>
А затем установите HTML-код в коде:
HTMLContent.NavigateToString("<p>Some HTML</p>");
Когда я прокручиваю вниз, содержимое HTML идет выше навигации вверху. Это говорит о том, что элемент управления webBrowser находится над остальными элементами управления. Но установка Canvas.ZIndex ничего не делает.