[XAML]
<sfPopup:SfPopupLayout x:Name="popUpLayout"> <sfPopup:SfPopupLayout.PopupView> <sfPopup:PopupView> <sfPopup:PopupView.PopupStyle> <sfPopup:PopupStyle OverlayColor="Red" OverlayOpacity="0.2"> </sfPopup:PopupStyle> </sfPopup:PopupView.PopupStyle> </sfPopup:PopupView> </sfPopup:SfPopupLayout.PopupView> </sfPopup:SfPopupLayout> |
Regarding Sfpopup arrow indicator: |
We have analyzed your query “Sfpopup with arrow indicator”. Currently SfPopupLayout don’t have support for arrow indicator. Based on provided information your requirement can be achieved by enabling following settings for PopupView.
1. ShowHeader = false
2. ShowFooter = false
3. PopupView BackgroundColor to Transparent
4. BorderThickness= 0.
5. And load the desired View inside PopupView ContentTemplate
Please refer the following code snippet to achieve your requirement.
We have prepared the sample for the same.
Sample link : https://www.syncfusion.com/downloads/support/forum/150096/ze/Popup_Demo2-1928689119.zip | |
Regarding Remove the Popup content shadow |
Popup content shadow can be removed by setting PopupView BackgroundColor to Transparent . Please refer the following code snippet to achieve your requirement.
|
The problem for me is that with different devices I can have different screen sizes, so I can't simply position the popup i.e at X = 100, Y = 400, because it will be rendered in different ways on different devices. Probably the best idea could be to position the popup at "height of page - height of tabBar" as Y, and I tried to do it creating a custom renderer for the shell component that measures the tabBar size, but if I do this:
popupLayout.Show(200, Application.Current.MainPage.Height - heightOfTabBar);
[App.Shell.cs]
protected override void LayoutChildren(double x, double y, double width, double height)
{
if (popupLayout.IsOpen)
popupLayout.IsOpen = false;
var density = DependencyService.Get<IDisplayInfo>().GetDisplayDensity();
// Default value for tabbar height is 95
popupLayout.Show(Shell.Current.Bounds.Right, (Shell.Current.Bounds.Bottom - 95 * density));
base.LayoutChildren(x, y, width, height);
} |