我有一个列在后面的代码中的两个名称列表绑定到xaml文件上的ListView,并在尝试将名称颜色更改为白色后,我在屏幕上显示了这个:
代码: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" x:Class="RoseySports.Invite_Page">
<ContentPage.Content>
<AbsoluteLayout VerticalOptions="FillAndExpand" HorizontalOptions="FillAndExpand">
<Image AbsoluteLayout.LayoutFlags="All" AbsoluteLayout.LayoutBounds="0, 0, 1, 1"
Source="background.jpg" Aspect="AspectFill"/>
<ScrollView AbsoluteLayout.LayoutFlags="All" AbsoluteLayout.LayoutBounds="0, 0, 1, 1">
<ContentView Padding="10, 40, 10, 10">
<ListView x:Name="inviteesp" SeparatorColor="White" BackgroundColor="Transparent" Header="People">
<ListView.ItemTemplate>
<DataTemplate>
<TextCell Text="{Binding names}" TextColor="White"/>
</DataTemplate>
</ListView.ItemTemplate>
</ListView>
</ContentView>
</ScrollView>
</AbsoluteLayout>
</ContentPage.Content>
</ContentPage>
C#(Code-Behind):
using System;
using System.Collections.Generic;
using Xamarin.Forms;
namespace RoseySports
{
public partial class Invite_Page : ContentPage
{
public Invite_Page()
{
InitializeComponent();
var names = new List<String>
{
"Mohamed Al-Sabbagh",
"Adrien Tardy"
};
inviteesp.ItemsSource = names;
}
}
}
答案 0 :(得分:0)
你确定这是正确的吗?
{Binding names}
尝试
{Binding .}
答案 1 :(得分:0)
您的ListView
ItemsSource
应绑定到names
,并且在模板内部只需使用{Binding}
指向元素而不是该元素的属性。< / p>
<ListView x:Name="inviteesp" SeparatorColor="White" BackgroundColor="Transparent" Header="People" ItemsSource="{Binding names}">
<ListView.ItemTemplate>
<DataTemplate>
<TextCell Text="{Binding}" TextColor="White"/>
</DataTemplate>
</ListView.ItemTemplate>
</ListView>
目前,您正在尝试将每个字符绑定到每个TextCell
,而不是尝试将每个字符串绑定到每个TextCell
。
答案 2 :(得分:0)
由于您使用的是未显示的Header
,但是这个奇怪的文字,我认为问题与此有关。
您确定您拥有所有NuGet包并且使用的是正确的NetStandard版本吗?
您应该检查目标版本,清理,恢复和重建解决方案。
如果这不能帮助您尝试为标题添加明确的布局,例如
<ListView x:Name="listView" Header="TEST HEADER"> <!-- this object will be the bindingcontext -->
<ListView.HeaderTemplate >
<DataTemplate>
<StackLayout Orientation="Horizontal">
<Label Text="{Binding .}"/> <!-- use the object in Header as the binding source -->
</StackLayout>
</DataTemplate>
</ListView.HeaderTemplate>
<ListView.ItemTemplate>
your template goes here
请查看这个xamarin论坛帖子 https://forums.xamarin.com/discussion/126386/setvalue-can-not-convert-system-readonlyspan-to-type-xamarin-forms-color
如果您还没有尝试更新到Xamarin Forms 3,可能会尝试更新。 检查项目中是否有对旧版Xamarin Forms版本的引用 文件(android,ios,...)。