WPF中WindowsFormsHost元素与其它元素似乎不能层叠显示

WPF中的WPF元素通常可以层叠显示,常见在仅有一行一列的Grid中放置两个元素,后放置的元素会显示在前一个元素的顶面。然而,当第一个元素不是wpf元素而是System.Windows.Forms中的控件的时候(注:用WindowsFormsHost包装起来的System.Windows.Forms控件),那么第二个元素就显示不出来。

   <Grid>

                <!DockPanel 元素时Grid中的第一个元素,里面包装了一个WindowsFormsHost>
                <DockPanel Grid.Column="0" Grid.Row="0" VerticalAlignment="Center" HorizontalAlignment="Center">
                        <WindowsFormsHost Name="myHost" MinWidth="720" MinHeight="480"
                                          SizeChanged="myHost_SizeChanged" HorizontalAlignment="Center" 
                                          VerticalAlignment="Center">
                             <forms:PictureBox/>
                       </WindowsFormsHost>
                </DockPanel>

                <!TextBlock元素时Grid中的第二个元素>
                <TextBlock Grid.Column="0" Grid.Row="0" Text="上层的文字" FontSize="25" Foreground="Blue"
                           HorizontalAlignment="Center" VerticalAlignment="Center"
                           Visibility="{Binding DoesNotExistEquipment,ElementName=this,Mode=OneWay,
                                        Converter={StaticResource BooleanToVisibilityConverter}}"/>

                <!TextBlock元素本应该显示在第一个元素的顶面,但是即使Visibility=Visible时也是显示不出来的,不知道什么原因>
  </Grid>

猜你喜欢

转载自blog.csdn.net/jiuzaizuotian2014/article/details/81252858