gpt4 book ai didi

c# - xamarin stacklayout child 删除自身

转载 作者:行者123 更新时间:2023-11-30 17:29:07 25 4
gpt4 key购买 nike

我有一个显示按钮的简单 Stacklayout。我希望能够让 child 从 stacklayout 中删除自己。

这个项目只是为了测试目的,所以每个按钮都链接到同一个事件处理程序。

private void Button_Pressed_1(object sender, EventArgs e)
{
stack.Children.RemoveAt(stack.Children.Count - 1);
}

一切正常,直到一个按钮自行删除,然后出现以下不受支持的错误:

未处理的异常:

System.NotSupportedException: Unable to activate instance of type Xamarin.Forms.Platform.Android.AppCompat.ButtonRenderer from native handle 0xbfb79bfc (key_handle 0x3e59524).

有没有人知道如何完成这个?因为它是一个 nonSupportedException 一个简单的 try & catch 没有完成这项工作

编辑:我让它工作了,我将事件处理程序注册到 Pressed-Event。显然这就是问题所在,当使用 Clicke-Event 时一切正常。

最佳答案

您使用的是什么版本的 Xamarin?我尝试使用 Xamarin.Form 3.0.0.561731 并且效果很好。请检查我的代码如下:

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:local="clr-namespace:RemoveItSelf"
x:Class="RemoveItSelf.MainPage">

<StackLayout x:Name="stack">
<!-- Place new controls here -->
<Label Text="Welcome to Xamarin.Forms!"
HorizontalOptions="Center"
VerticalOptions="CenterAndExpand" />
<Label Text="Welcome to Xamarin.Forms!"
HorizontalOptions="Center"
VerticalOptions="CenterAndExpand" />
<Button Text="Remove" Clicked="PressMeButton_Clicked"></Button>
</StackLayout>

</ContentPage>

Xaml.cs 页面:

namespace RemoveItSelf
{
public partial class MainPage : ContentPage
{
public MainPage()
{
InitializeComponent();
}

private void PressMeButton_Clicked(object sender, EventArgs e)
{
//stack.Children.RemoveAt(0);
stack.Children.RemoveAt(stack.Children.Count - 1);
}
}
}

关于c# - xamarin stacklayout child 删除自身,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51783217/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com