簡體   English   中英

xamarin stacklayout孩子自己移除

[英]xamarin stacklayout child removes itself

我有一個簡單的Stacklayout顯示按鈕。 我希望能夠讓孩子們從stacklayout移除自己。

此項目僅用於測試目的,因此每個按鈕都鏈接到同一個事件處理程序。

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

一切都很好,直到一個按鈕自行刪除,然后出現以下不支持的錯誤:

未處理的異常:

System.NotSupportedException:無法從本機句柄0xbfb79bfc(key_handle 0x3e59524)激活Xamarin.Forms.Platform.Android.AppCompat.ButtonRenderer類型的實例。

有誰知道如何實現這一目標? 由於它是一個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);
        }
    }
}

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM