2015-12-09 63 views
1

我需要把VlcControlGrid裏面有包含菜單控制等Grid的頂部,但無論VlcControl總是在父母Grid的頂部。VlcControl總是在電網

<Grid> 
<Grid x:Name="VideoHolder"> 
<vlc:VlcControl /> 
</Grid> 

<Grid x:Name="MenuHolder"> 
<!— content —> 
</Grid> 
</Grid> 
+0

你能否澄清一點?你想要內容在視頻之上嗎? – mhttk

+0

@mhttk:是的。我做。 – Mykola

+0

我懷疑你能做的最好的事情就是對視頻在屏幕上呈現的方式使用VLC控件上的部件的Popup控件。如果它是一個菜單也許不是一個大問題? – mhttk

回答

2

嘗試使用附加屬性Panel.ZIndex="NUMBER"上的命名網格,你想在上面的人都應該有較大的那個數。說Panel.ZIndex="2"

<Grid> 
    <Grid x:Name="VideoHolder" Panel.ZIndex="2"> 
     <Border Background="AliceBlue" Height="100" Width="300" /> 
    </Grid> 

    <Grid x:Name="MenuHolder" Panel.ZIndex="1"> 
     <Border Background="Beige" Margin="50,0,0,0" Height="100" Width="300" /> 
    </Grid> 
</Grid> 
+0

它不起作用 –

+0

仍然沒有改變。 – Mykola

+0

仍然無法正常工作。我認爲這可能是某種WinFormsHost問題,但我不確定。 – Mykola

2

如果適合您的需求,您可以嘗試使用彈出像下面的代碼片段。

請注意,可能您將無法使透明工作。

<Grid> 
    <vlc:VlcControl x:Name="VideoHolder"/> 
    <Popup Height="Auto" 
      AllowsTransparency="True" 
      IsOpen="True" 
      PlacementTarget="{Binding ElementName=VideoHolder}"> 
        <Border Background="White"> 
         ... 
        </Border> 
    </Popup> 
</Grid> 

爲inkCanvas

<Grid> 
    <vlc:VlcControl x:Name="VideoHolder" Panel.ZIndex="1"/> 
    <InkCanvas Panel.ZIndex="2"> 

    </InkCanvas> 
</Grid> 
+0

仍然無法正常工作。我認爲這可能是某種WinFormsHost問題,但我不確定。 – Mykola

+0

下一步我會嘗試使用InkCanvas – mhttk