У меня есть требование, когда мне нужно отобразить список на модальной всплывающей странице. Я могу отобразить список, но не могу сделать цвет фона прозрачным или полупрозрачным, чтобы страница под ним была частично видимой.
Я нажимаю на страницу из моей модели просмотра, используя следующую строку:
NavigationParameters oNavParams = new NavigationParameters();
oNavParams.Add("Mode", "FeedBack");
oNavParams.Add("selectedItem", txtFeedback);
_navigationService.NavigateAsync("PopupBox", oNavParams);
Вот мой код xaml:
<?xml version="1.0" encoding="utf-8" ?>
<ContentPage xmlns="http://xamarin.com/schemas/2014/forms"
xmlns:x="http://schemas.microsoft.com/winfx/2009/xaml"
xmlns:prism="clr-namespace:Prism.Mvvm;assembly=Prism.Forms"
xmlns:local="clr-namespace:MyApp"
prism:ViewModelLocator.AutowireViewModel="True"
x:Class="MyApp.Views.PopupBox">
<ContentPage.Content>
<AbsoluteLayout Padding="0" HorizontalOptions="FillAndExpand" VerticalOptions="FillAndExpand">
<ContentView x:Name="popupListView" BackgroundColor="Transparent" Padding="10, 0" IsVisible="false" AbsoluteLayout.LayoutBounds="0, 0, 1, 1" AbsoluteLayout.LayoutFlags="All">
<StackLayout VerticalOptions="Center" HorizontalOptions="Center">
<StackLayout Orientation="Vertical" HeightRequest="200" WidthRequest="300" BackgroundColor="White">
<ListView x:Name="sampleList">
</ListView>
</StackLayout>
</StackLayout>
</ContentView>
</AbsoluteLayout>
</ContentPage.Content>
</ContentPage>
Вот мой код:
public PopupBox()
{
try
{
InitializeComponent();
NavigationPage.SetHasNavigationBar(this, false);
sampleList.ItemsSource = new List<string>
{
"Test ListView",
"Test ListView",
"Test ListView",
"Test ListView",
"Test ListView",
"Test ListView",
"Test ListView",
"Test ListView",
"Test ListView",
"Test ListView",
"Test ListView"
};
popupListView.IsVisible = true;
}
catch (Exception ex)
{
}
}
Вот вывод:
![enter image description here](https://i.stack.imgur.com/Ecga3.png)
Я также попытался установить следующее:
this.BackgroundColor= new Color(0, 0, 0, 0.4);
Но это не работает. Есть ли способ, которым я могу добиться этого? Использование пользовательских средств визуализации или любого другого обходного пути для отображения модального режима.
Я не хочу использовать Rg.Plugins.Popup, так как у меня были проблемы с ним. Поэтому я искал альтернативу. Пожалуйста, помогите.