我是MAUI新手,在网页上找不到任何解决方案,我只想删除任何控件或组件。组件可以是列表视图、按钮或任何东西。
例如我下面的代码:
<ContentPage xmlns="http://schemas.microsoft.com/dotnet/2021/maui"
xmlns:x="http://schemas.microsoft.com/winfx/2009/xaml"
x:Class="MauiApp2.Prueba"
Title="Prueba">
<StackLayout VerticalOptions="Center">
<ListView x:Name="FruitListView">
<ListView.ItemTemplate>
<DataTemplate>
<TextCell Text="{Binding FruitName}" />
</DataTemplate>
</ListView.ItemTemplate>
</ListView>
<Button x:Name="btnDelete"
Text="Random Color"
HorizontalOptions="Center"
VerticalOptions="Center"
Clicked="btnDelete_Clicked" />
</StackLayout>
单击btnDelete
按钮时,如何删除整个<ListView>
?
我有这个:
private void btnDelete_Clicked(object sender, EventArgs e)
{
FruitListView. ;
}
我找不到任何删除此ListView
组件的参考,是否可以通过后端代码删除?
2条答案
按热度按时间8e2ybdfx1#
您可以像这样从控件的父布局中移除控件
您需要将
x:Name
分配给父布局,以便在后面的代码中引用它ykejflvf2#
我不认为您可以在运行时删除一个控件如果它在编译时在原始XAML中开始其生命。WPF在编译期间以自定义代码生成的方式做了很多事情,MAUI也没有什么不同。
更好的方法是将
ListView
从编译时添加到窗口改为***运行时添加到窗口***。换句话说就是:
1.从XAML文件中删除
<ListView>
和相关项1.在页面的代码隐藏C# .CS文件中,创建一个
ListView
对象并将其添加到StackLayout
对象中。将ListView
对象保存到类似ListView _myListView
的字段中1.以后你可以只
StackLayout.Remove(_myListView)