<Popup x:Name="popup" IsOpen="False" Placement="Mouse" Focusable="True" AllowsTransparency="True" PopupAnimation="Slide" MinHeight="35" MaxHeight="350">
<Grid Width="auto" MinHeight="35" MaxHeight="350">
<Grid.RowDefinitions>
<RowDefinition Height="8.25"/>
<RowDefinition Height="5*"/>
</Grid.RowDefinitions>
<Grid.ColumnDefinitions>
<ColumnDefinition Width="1*"/>
</Grid.ColumnDefinitions>
<Viewbox Grid.Row="0" Stretch="Uniform" Width="17.75" Height="8.25" HorizontalAlignment="Left" Margin="10,0,0,0">
<Path Data="M48.75,116.75 L40.5,124 57.25,124 z" Fill="#666666" Stroke="#666666" Stretch="Fill" Width="17.75" Height="8.25" HorizontalAlignment="Left" VerticalAlignment="Top"/>
</Viewbox>
<Border Grid.Row="1" x:Name="Root" CornerRadius="6" Margin="0" Background="#666666" Padding="6">
<Border.Resources>
<Storyboard x:Key="Visible State"/>
<Storyboard x:Key="Normal State"/>
</Border.Resources>
<ScrollViewer ScrollViewer.VerticalScrollBarVisibility="Auto">
<TextBox x:Name="txtPopupContent" Text="超出范围!" TextWrapping="Wrap" MaxWidth="500" Background="#666666" Foreground="White" FontFamily="ArialMT" BorderThickness="0" MouseLeave="TextBlock_MouseLeave"/>
</ScrollViewer>
</Border>
</Grid>
</Popup>
private void TextBlock_MouseLeave(object sender, MouseEventArgs e)
{
popup.IsOpen = false;
}