How can I specify a Custom Popup Position ?

Platform: WPF| Category: Popup

You can specify a custom pop-up location by setting the Placement property to Custom. This can be done with the following code snippets.

[XAML]

<Popup Name="myCustomPopup" 
        PlacementTarget ="{Binding ElementName=myGridLayout}"
        Placement="Custom">
  <TextBlock Height="50" Width="150"
             Background="LightGray"
             TextWrapping="Wrap">Custom popup position demo</TextBlock>
</Popup>
  
[C#]
public CustomPopupPlacement[] placementForPopup(Size popupSize,
                                           Size targetSize,
                                           Point offset)
{
    CustomPopupPlacement customPlacement1 =
       new CustomPopupPlacement(new Point(-40, 90), PopupPrimaryAxis.Vertical);
  
    CustomPopupPlacement customPlacement2 =
        new CustomPopupPlacement(new Point(20, 30), PopupPrimaryAxis.Horizontal);
  
    CustomPopupPlacement[] customPlacements =
            new CustomPopupPlacement[] { customPlacement1 , customPlacement2  };
    return customPlacements ;
}
  
[C#]
myCustomPopup.CustomPopupPlacementCallback =
    new CustomPopupPlacementCallback(placementForPopup);

Reference link: https://docs.microsoft.com/en-us/dotnet/framework/wpf/controls/how-to-specify-a-custom-popup-position

Share with

Related FAQs

Couldn't find the FAQs you're looking for?

Please submit your question and answer.