2013-02-14 90 views
1

我想在WPF中的TabControl內打開一個彈出窗口,但由於某種原因,它還沒有工作。在WPF tabcontrol中打開一個彈出窗口

我有以下幾點: -

<Grid> 
    <TabControl> 
     <TabItem Header="Header1"> 
     </TabItem> 
     <TabItem Header="Header2"> 
     </TabItem> 
     <StackPanel Name="MyPanel"> 
      <Popup Height="Auto" Width="Auto" Name="MyToolTip" StaysOpen="True" AllowsTransparency="False" /> 
      <Border BorderThickness="1" Background="Azure" Margin="0,0,378.8,0" > 
       <StackPanel Margin="30" Orientation="Horizontal"> 
        <TextBlock Text="My Popup "/> 
        <TextBlock x:Name="MyFirstPopupTextBlock" /> 
       </StackPanel> 
      </Border> 
     </StackPanel> 
    </TabControl> 
</Grid> 

,並在我的.cs有以下: -

 public MainWindow() 
    { 
     InitializeComponent(); 
     Show_Popup(); 
    } 

    private void Show_Popup() 
    { 
     MyToolTip.IsOpen = true; 
    } 

我在做什麼錯?

感謝您的幫助和時間

+0

什麼是你特林做,顯示了StackPanel中作爲一個工具提示? – 2013-02-14 21:11:38

+0

是喜歡彈出 – Johann 2013-02-14 21:12:18

+0

你想在'StackPanel'作爲'TabItem'這個彈出?或者你想讓它出現在所有的TabItems上? – 2013-02-14 21:21:21

回答

1

如果你想這出現在所有TabItems,你可能會想將它添加到Grid,而不是TabControl,這樣一來就會跳投是ontop的的TabControl時打開。

<Grid> 
    <TabControl> 
     <TabItem Header="Header1" /> 
     <TabItem Header="Header2" /> 
    </TabControl> 
    <Popup Height="Auto" Width="Auto" Name="MyToolTip" StaysOpen="True" IsOpen="True" Placement="Center" PlacementTarget="{Binding}" AllowsTransparency="False" > 
     <Border BorderThickness="1" Background="Azure" > 
      <StackPanel Margin="30" Orientation="Horizontal"> 
       <TextBlock Text="My Popup "/> 
       <TextBlock x:Name="MyFirstPopupTextBlock" /> 
      </StackPanel> 
     </Border> 
    </Popup> 
</Grid> 

結果:

enter image description here

+0

我怎麼稱呼它?它沒有顯示 – Johann 2013-02-14 21:33:10

+0

我更新了答案,請再試一次:) – 2013-02-14 21:35:00

+0

現在很酷的工作非常感謝! – Johann 2013-02-14 21:37:50