在WPF tabcontrol中打开一个弹出窗口

时间:2013-02-14 21:01:01

标签: c# wpf xaml wpf-controls

我正在尝试在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;
    }

我做错了什么?

感谢您的帮助和时间

1 个答案:

答案 0 :(得分:1)

如果您希望它出现在所有TabItems上,您可能希望将其添加到Grid,而不是TabControl,这样它就会远离TabControl。 {1}}打开时。

 <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