<Window x:Class="WpfApplication1.Window1" xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" Title="WPF" Height="150" Width="250"> <StackPanel> <Popup AllowsTransparency="True" Height="100" HorizontalOffset="1cm" Name="myPopup" Placement="Right" StaysOpen="True" Width="200" > <Border BorderBrush="Black" BorderThickness="2"> <DockPanel Background="White" LastChildFill="True"> <TextBlock Background="AliceBlue" DockPanel.Dock="Top" FontSize="16" HorizontalAlignment="Stretch" Margin="5" Text="A WPF Popup" /> <Button Click="btnClosePopup_Click" Content="Close" DockPanel.Dock="Bottom" Margin="5" HorizontalAlignment="Right" MaxHeight="23"/> <Image DockPanel.Dock="Top" Margin="5" Source="c:\image.gif" /> </DockPanel> </Border> </Popup> <StackPanel> <StackPanel.Resources> <Style TargetType="{x:Type Button}"> <Setter Property="Margin" Value="2" /> <EventSetter Event="Click" Handler="btnShowPopup_Click" /> </Style> </StackPanel.Resources> <Button Content="Show Popup" Name="btnShowPopup" /> </StackPanel> </StackPanel> </Window> //File:Window.xaml.cs using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Windows; using System.Windows.Controls; using System.Windows.Data; using System.Windows.Documents; using System.Windows.Input; using System.Windows.Media; using System.Windows.Media.Imaging; using System.Windows.Navigation; using System.Windows.Shapes; using System.Windows.Controls.Primitives; namespace WpfApplication1 { public partial class Window1 : Window { public Window1() { InitializeComponent(); } private void btnClosePopup_Click(object sender, RoutedEventArgs e) { myPopup.IsOpen = false; } private void btnShowPopup_Click(object sender, RoutedEventArgs e) { if (sender == btnShowPopup){ myPopup.IsOpen = true; } } } }