为什么使用listView时页面中的某些控件消失了?

why when use listView some controls in page disappeared?

我使用 SearchBarlistView 搜索并且我有其他控件 但是当页面加载时只出现 SearchBar 而其他控件消失 喜欢这张图片

然后在搜索时 select 从 listView 消失的控件出现

喜欢这张图片

我的xaml代码:

<StackLayout>
                <SearchBar x:Name="search_trade" 
                       TextChanged="search_trade_TextChanged"
                       />
                <ListView x:Name="list" ItemSelected="list_ItemSelected" >
                    <ListView.ItemTemplate>
                        <DataTemplate>
                            <TextCell Text="{Binding Name}" ></TextCell>
                        </DataTemplate>
                    </ListView.ItemTemplate>
                </ListView>
                <Editor x:Name="edit_trade"
                    FontSize="14"/>
            </StackLayout>

我的 C# 代码:

private void search_trade_TextChanged(object sender, TextChangedEventArgs e)
    {
        if (search_trade.Text.Trim()==string.Empty)
        {
            list.IsVisible = false;
        }
        list.IsVisible = true;
        if (string.IsNullOrEmpty(e.NewTextValue))
        {
            list.ItemsSource = tempdata;
        }

        else
        {
            list.ItemsSource = tempdata.Where(x => x.Name.ToLower().StartsWith(e.NewTextValue));
        }
    }
    private void list_ItemSelected(object sender, SelectedItemChangedEventArgs e)
    {
        var item = (Contacts)e.SelectedItem;
        edit_trade.Text = item.Name.ToString();
        search_trade.Text = "";
        list.IsVisible = false;
        edit_trade.IsReadOnly = true;
    }

我最初设置 ItemsSource 的 c# 代码:

public Anti_biotic()
    {
        InitializeComponent();
        active();
        years_months();
        frame_view.IsVisible = false;
        trade();
    }
    private void trade()
    {
        tempdata = new List<Contacts>
        {
            new Contacts() { Name = "Amoclawin228.5mg/5mlsusp60ml"},
            new Contacts() { Name = "Amoclawin 457mg / 5ml susp 60 ml"},
            new Contacts() { Name = "Amoflux 250 mg susp 100 ml"},
};
}

我该如何解决这个问题?

您没有在页面加载时分配 ListViewItemsSource。如果 ListView 没有任何数据那么它不会显示任何东西

public Anti_biotic()
{
    InitializeComponent();
    active();
    years_months();
    frame_view.IsVisible = false;

    // this method creates tempdata but doesn't do anything with it
    trade();

    // add this
    list.ItemsSource = tempdata;
}