1 <Window x:Class="Window1"
2 xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
3 xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
4 xmlns:src="clr-namespace:PopupPlacement"
10 <ToolBarTray DockPanel.Dock="Top">
12 RadioButton.Click="setPlacement">
13 <RadioButton Name="placementBottom" IsChecked="True">
14 <AccessText>_Bottom</AccessText>
17 <RadioButton Name="placementTop">
18 <AccessText>_Top</AccessText>
21 <RadioButton Name="placementLeft">
22 <AccessText>_Left</AccessText>
25 <RadioButton Name="placementRight">
26 <AccessText>_Right</AccessText>
29 <RadioButton Name="placementCenter">
30 <AccessText>_Center</AccessText>
33 <RadioButton Name="placementCustom">
34 <AccessText>C_ustom</AccessText>
37 <RadioButton Name="placementAbsolute">
38 <AccessText>_Absolute</AccessText>
41 <RadioButton Name="placementRelative">
42 <AccessText>Relati_ve</AccessText>
45 <RadioButton Name="placementMouse">
46 <AccessText>_Mouse</AccessText>
49 <RadioButton Name="placementAbsolutePoint">
50 <AccessText>Absolut_ePoint</AccessText>
53 <RadioButton Name="placementRelativePoint">
54 <AccessText>RelativePoi_nt</AccessText>
57 <RadioButton Name="placementMousePoint">
58 <AccessText>Mouse_Point</AccessText>
61 <ToolBar Band="2" BandIndex="2">
62 <ToggleButton Name="popupOpen" IsChecked="False">
63 <AccessText>_Show Popup</AccessText>
66 <ToggleButton Checked="showPlacementRectangle"
67 Unchecked="hidePlacementRectangle">
68 <AccessText>Use PlacementRectan_gle</AccessText>
71 <ToolBar Band="3" BandIndex="2">
72 <src:NumericUpDownControl x:Name="HOffset"
73 IncreaseButtonContent="Increase _Horizontal Offset"
74 DecreaseButtonContent="Decrease H_orizontal Offset"/>
75 <src:NumericUpDownControl x:Name="VOffset"
76 IncreaseButtonContent="_Increase Vertical Offset"
77 DecreaseButtonContent="_Decrease Vertical Offset"/>
79 <Button Click="resetOffsets_Click">
80 <AccessText>Reset O_ffsets</AccessText>
84 <Canvas Background="Red" Name="canvas1">
85 <TextBlock FontSize="14" TextWrapping="Wrap" Width="{Binding ElementName=canvas1, Path=ActualWidth}">
86 Popup Placement Sample<LineBreak/>
88 This sample demontrates how to position a popup. Experiment with setting
89 thee popup to different PlacementMode values, setting HorizontalOffset
90 and VerticalOffset, switching between using and not using PlacementRectangle.
93 <Rectangle Name="placementRectArea" Visibility="Hidden"
94 Canvas.Top="150" Canvas.Left="50"
95 Height="90" Width="60"
96 StrokeThickness="1" Stroke="Black">
99 <Popup Name="popup1" Placement="Bottom" AllowsTransparency="True"
100 IsOpen="{Binding ElementName=popupOpen, Path=IsChecked}"
101 HorizontalOffset="{Binding ElementName=HOffset, Path=Value, Mode=TwoWay}"
102 VerticalOffset="{Binding ElementName=VOffset, Path=Value, Mode=TwoWay}"
104 <Grid Background="Blue" Opacity=".75" >
105 <TextBlock Margin="10" FontSize="18"
106 FontFamily="Constantia">