C# Xamarin Froms列表视图未显示所有项目
哈马林的受害者朋友你好 我的ListView有问题,其中没有显示itemsource中的所有项目。共显示了12项中的6项。这里是我的XAML页面,您可以在其中看到我如何使用listview(listview用于中间部分):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 {
这里是我定义我的项目的部分。在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
}