【发布时间】:2018-04-22 04:54:37
【问题描述】:
我正在使用自定义单元格在 Xamarin.Forms 中实现 ListView,但我看不到我在做什么,因为预览显示了一个空列表,并且每次重新构建都很简单,太耗时了。我什至看不到一个简单的 TextCell..
如何在编辑器中查看我的单元格的预览?这是我的 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:MyNamespace"
x:Class="MyNamespace.MyAppPage">
<ContentPage.Content>
<ListView x:Name="myList">
<ListView.ItemTemplate>
<DataTemplate>
<TextCell Text="Preview?" />
</DataTemplate>
</ListView.ItemTemplate>
</ListView>
</ContentPage.Content>
注意:我使用的是 Visual Studio 2017 for Mac。
第二部分
好的,所以我尝试使用 BindingContext,但我不太了解此属性的用法。这是我更新的 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:MyNamespace;assembly:MyNamespace"
BindingContext="{x:Static local:MusicSeed.Model}"
x:Class="MyNamespace.MyAppPage">
<ContentPage.Content>
<ListView ItemsSource="{Binding Tracks}">
<ListView.ItemTemplate>
<DataTemplate>
<TextCell Text="{Binding Name}" />
</DataTemplate>
</ListView.ItemTemplate>
</ListView>
</ContentPage.Content>
</ContentPage>
这是我拥有数据的地方,MusicSeed.cs:
namespace MyNamespace
{
public static class MusicSeed
{
public static readonly MusicSeedModel Model = new MusicSeedModel();
}
public class MusicSeedModel
{
public readonly MusicTrack[] Tracks =
{
new MusicTrack("Track 01"),
new MusicTrack("Track 02"),
new MusicTrack("Track 03"),
new MusicTrack("Track 04"),
};
}
}
结果是 XAML 编辑器抛出此错误:
没有找到 local:MusicSeed.Model 的静态成员
我尝试将Tracks 更改为静态,但没有任何改变。还重建了解决方案,错误消失了,但预览仍然是空的。我在这里错过了什么?
【问题讨论】:
标签: xaml xamarin xamarin.forms visual-studio-2017