我尝试将单维字符串数组属性绑定到TextView但它不起作用。
视图模型:
public string[] Player
{
get { return _player; }
set { _player = value; RaisePropertyChanged(() => Player); }
}
Windows8 xaml(完美无缺):
<TextBox x:Name="txtbox_PlayerName1" Text="{Binding Path=Player[0], Mode=TwoWay}" Grid.Column="2" Width="600" Height="30" HorizontalAlignment="Left"></TextBox>
Android axml:
<TextView
android:layout_marginTop="20dp"
android:layout_marginLeft="5dp"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:id="@+id/textView1"
local:MvxBind="Text Player[0]" />
日志:
MvxBind:警告:103,21无法绑定:未找到源属性源IndexedProperty:0在String []上 01-14 12:17:26.419 I / mono-stdout(28171):MvxBind:警告:103,21无法绑定:未找到源属性源IndexedProperty:0 on String []
我为Binding尝试了不同的语法但没有成功。此外,我试图绑定一个&#34;播放器&#34;的字符串属性。像Players [0] .PlayerName这样的对象在XAML中工作得很好,但在Android上却没有。
https://github.com/MvvmCross/MvvmCross-Tutorials/blob/master/ApiExamples/ApiExamples.Droid/Resources/Layout/Test_ObservableCollection.axml它正在Mvvmcross的API样本中工作(使用Observable Collection,我尝试了同样的事情但没有成功)
答案 0 :(得分:2)
我尝试使用PlayerModel而不是使用PlayerModel的数组创建List。我绑定了PlayerModel的Property PlayerName而不是字符串数组,现在它可以工作了。我很困惑,因为我几天前也试过了。
private List<PlayerModel> _player;
public List<PlayerModel> Player
{
get { return _player; }
set { _player = value; RaisePropertyChanged(() => Player); }
}
XAML:
Text="{Binding Path=Player[0].PlayerName, Mode=TwoWay}"
axml:
<TextView
android:layout_marginTop="20dp"
android:layout_marginLeft="5dp"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:id="@+id/textView1"
local:MvxBind="Text Player[0].PlayerName" />