C# Xamarin Froms列表视图未显示所有项目

C# Xamarin Froms列表视图未显示所有项目,c#,xaml,xamarin,xamarin.forms,portable-class-library,C#,Xaml,Xamarin,Xamarin.forms,Portable Class Library,哈马林的受害者朋友你好 我的ListView有问题,其中没有显示itemsource中的所有项目。共显示了12项中的6项。这里是我的XAML页面,您可以在其中看到我如何使用listview(listview用于中间部分): 这里是我定义我的项目的部分。在writeline中,我可以看到所有12项都添加到itemsource。因此,我怀疑问题在这里,但为了解决这个问题,这里有一个隐藏的代码: public partial class DetailPage : ContentPage {

哈马林的受害者朋友你好

我的ListView有问题,其中没有显示itemsource中的所有项目。共显示了12项中的6项。这里是我的XAML页面,您可以在其中看到我如何使用listview(listview用于中间部分):


这里是我定义我的项目的部分。在writeline中,我可以看到所有12项都添加到itemsource。因此,我怀疑问题在这里,但为了解决这个问题,这里有一个隐藏的代码:

 public partial class DetailPage : ContentPage
{

    public Subject sb;
    int i;
    public DetailPage(Subject subject)
    {
        InitializeComponent();

        sb = subject;
        TapGestureRecognizer tap = new TapGestureRecognizer();
        EntityImage.Source = ImageSource.FromFile("nobody_moriginal.jpg");
        text1.Text = subject.text1;
        text2.Text = subject.text2;
        text3.Text = subject.text3;
        text4.Text = subject.text4;

        tap.Tapped += OnTap;
        BasicInfo.GestureRecognizers.Add(tap);

        QuestionListView.ItemsSource = new List<Question>
        {
            new Question
            {
                Vraag = "1+1=?",
                TypeQuestion = Question.QuestionTypes.MulptipleChoice
            },
            new Question
            {
                Vraag= "Is dit waar?",
                TypeQuestion = Question.QuestionTypes.TrueFalse
            },
            new Question
            {
                Vraag= "Hoe ziet jou leven eruit?",
                TypeQuestion = Question.QuestionTypes.Text
            },
            new Question
            {
                Vraag= "Wat vind u van Tim?(Max 150 karakters)",
                TypeQuestion = Question.QuestionTypes.LineText
            },
            new Question
            {
                Vraag= "Wat vind u van Tim?(Max 150 karakters)",
                TypeQuestion = Question.QuestionTypes.LineText
            },
            new Question
            {
                Vraag= "Wat vind u van Tim?(Max 150 karakters)",
                TypeQuestion = Question.QuestionTypes.LineText
            },
            new Question
            {
                Vraag= "Wat vind u van Tim?(Max 150 karakters)",
                TypeQuestion = Question.QuestionTypes.LineText
            },
            new Question
            {
                Vraag= "Wat vind u van Tim?(Max 150 karakters)",
                TypeQuestion = Question.QuestionTypes.LineText
            },
            new Question
            {
                Vraag= "Wat vind u van Tim?(Max 150 karakters)",
                TypeQuestion = Question.QuestionTypes.LineText
            },
            new Question
            {
                Vraag= "Wat vind u van Tim?(Max 150 karakters)",
                TypeQuestion = Question.QuestionTypes.LineText
            },                new Question
            {
                Vraag= "Hoe ziet jou leven eruit?",
                TypeQuestion = Question.QuestionTypes.Text
            },                new Question
            {
                Vraag= "Hoe ziet jou leven eruit?",
                TypeQuestion = Question.QuestionTypes.Text
            }
        };
    }

    private async void OnTap(object sender, EventArgs e)
    {
        await Navigation.PushAsync(new BasicInfoPage(sb));
    }

    private void OnItemTapped(object sender, ItemTappedEventArgs e)
    {
        if (e == null) return; // has been set to null, do not 'process' tapped event
        ((ListView)sender).SelectedItem = null; // de-select the row
    }
public部分类详细信息页面:ContentPage
{
公开谈论某人;
int i;
公共详细信息页面(主题)
{
初始化组件();
sb=主题;
TapGestureRecognizer点击=新建TapGestureRecognizer();
EntityImage.Source=ImageSource.FromFile(“nobody_moriginal.jpg”);
text1.Text=subject.text1;
text2.Text=subject.text2;
text3.Text=subject.text3;
text4.Text=subject.text4;
tap.Tapped+=OnTap;
BasicInfo.手势识别器.添加(点击);
QuestionListView.ItemsSource=新列表
{
新问题
{
Vraag=“1+1=?”,
TypeQuestion=Question.QuestionTypes.MulptipleChoice
},
新问题
{
Vraag=“这是真的吗?”,
TypeQuestion=Question.QuestionTypes.TrueFalse
},
新问题
{
Vraag=“你是怎么做的?”,
TypeQuestion=Question.QuestionTypes.Text
},
新问题
{
Vraag=“最大150卡拉克”,
TypeQuestion=Question.QuestionTypes.LineText
},
新问题
{
Vraag=“最大150卡拉克”,
TypeQuestion=Question.QuestionTypes.LineText
},
新问题
{
Vraag=“最大150卡拉克”,
TypeQuestion=Question.QuestionTypes.LineText
},
新问题
{
Vraag=“最大150卡拉克”,
TypeQuestion=Question.QuestionTypes.LineText
},
新问题
{
Vraag=“最大150卡拉克”,
TypeQuestion=Question.QuestionTypes.LineText
},
新问题
{
Vraag=“最大150卡拉克”,
TypeQuestion=Question.QuestionTypes.LineText
},
新问题
{
Vraag=“最大150卡拉克”,
TypeQuestion=Question.QuestionTypes.LineText
},新问题
{
Vraag=“你是怎么做的?”,
TypeQuestion=Question.QuestionTypes.Text
},新问题
{
Vraag=“你是怎么做的?”,
TypeQuestion=Question.QuestionTypes.Text
}
};
}
私有异步void OnTap(对象发送方、事件参数)
{
等待导航.PushAsync(新BasicInfo页面(sb));
}
已映射的私有void(对象发送方,ItemTappedEventArgs e)
{
如果(e==null)return;//已设置为null,则不要“处理”事件
((ListView)sender).SelectedItem=null;//取消选择该行
}

提前谢谢!

您在ScrollView中使用ListView。因此,您的所有项目可能都在ListView中,但您无法滚动到它们。

默认情况下
ListView
具有内部
ScrollView
,因此您不需要在您的案例中使用
ScrollView

我可以滚动查看我的ListView。它只是在6点被切断th itemNo,你说得对。我在没有scrollview的情况下尝试了它,效果很好。谢谢你的帮助!:)欢迎你…如果你真的需要在scrollview中包含listview,那么查看NestedScrollingEnabled你不需要将scrollview与listview一起使用,默认情况下,每个列表视图都有内部scrollview。据我所知,listview是scrollview默认情况下为e。我会尝试另一种方法,将Listview作为所有视图的父视图,并将网格绑定在其中。猜猜,您的网格限制了您显示的记录数。@MikeDarwish您是对的,这也是问题所在,谢谢您的提醒。欢迎您,我添加一个答案:)
 public partial class DetailPage : ContentPage
{

    public Subject sb;
    int i;
    public DetailPage(Subject subject)
    {
        InitializeComponent();

        sb = subject;
        TapGestureRecognizer tap = new TapGestureRecognizer();
        EntityImage.Source = ImageSource.FromFile("nobody_moriginal.jpg");
        text1.Text = subject.text1;
        text2.Text = subject.text2;
        text3.Text = subject.text3;
        text4.Text = subject.text4;

        tap.Tapped += OnTap;
        BasicInfo.GestureRecognizers.Add(tap);

        QuestionListView.ItemsSource = new List<Question>
        {
            new Question
            {
                Vraag = "1+1=?",
                TypeQuestion = Question.QuestionTypes.MulptipleChoice
            },
            new Question
            {
                Vraag= "Is dit waar?",
                TypeQuestion = Question.QuestionTypes.TrueFalse
            },
            new Question
            {
                Vraag= "Hoe ziet jou leven eruit?",
                TypeQuestion = Question.QuestionTypes.Text
            },
            new Question
            {
                Vraag= "Wat vind u van Tim?(Max 150 karakters)",
                TypeQuestion = Question.QuestionTypes.LineText
            },
            new Question
            {
                Vraag= "Wat vind u van Tim?(Max 150 karakters)",
                TypeQuestion = Question.QuestionTypes.LineText
            },
            new Question
            {
                Vraag= "Wat vind u van Tim?(Max 150 karakters)",
                TypeQuestion = Question.QuestionTypes.LineText
            },
            new Question
            {
                Vraag= "Wat vind u van Tim?(Max 150 karakters)",
                TypeQuestion = Question.QuestionTypes.LineText
            },
            new Question
            {
                Vraag= "Wat vind u van Tim?(Max 150 karakters)",
                TypeQuestion = Question.QuestionTypes.LineText
            },
            new Question
            {
                Vraag= "Wat vind u van Tim?(Max 150 karakters)",
                TypeQuestion = Question.QuestionTypes.LineText
            },
            new Question
            {
                Vraag= "Wat vind u van Tim?(Max 150 karakters)",
                TypeQuestion = Question.QuestionTypes.LineText
            },                new Question
            {
                Vraag= "Hoe ziet jou leven eruit?",
                TypeQuestion = Question.QuestionTypes.Text
            },                new Question
            {
                Vraag= "Hoe ziet jou leven eruit?",
                TypeQuestion = Question.QuestionTypes.Text
            }
        };
    }

    private async void OnTap(object sender, EventArgs e)
    {
        await Navigation.PushAsync(new BasicInfoPage(sb));
    }

    private void OnItemTapped(object sender, ItemTappedEventArgs e)
    {
        if (e == null) return; // has been set to null, do not 'process' tapped event
        ((ListView)sender).SelectedItem = null; // de-select the row
    }