Я хочу отображать новую строку TextView каждый раз, когда я нажимаю кнопку. Я использую MvvmCross, и я знаю, что я должен использовать MvxListView, который назначен шаблону макета, но я не знаю, как отображать его на экране при нажатии кнопки.Как отобразить новый элемент на MvxListView на кнопке Нажмите в Android Xamarin Visual Studio
Может кто-нибудь дать мне простой пример кода, сделанный из ViewModel, и очень короткое объяснение о том, какая строка кода инициирует отображение нового TextView?
UPDATE
Я обеспечиваю мой код ниже:
ViewModel.cs
public class FirstViewModel
: MvxViewModel
{
private ObservableCollection<Unit> unitCodes;
public ObservableCollection<Unit> UnitCodes
{
get { return unitCodes; }
set { unitCodes = value; RaisePropertyChanged(() => UnitCodes); }
}
public IMvxCommand ButtonCommand { get; private set; }
public FirstViewModel()
{
unitCodes = new ObservableCollection<Unit>();
ButtonCommand = new MvxCommand(() =>
{
UnitCodes = UnitCodes ?? new ObservableCollection<Unit>();
UnitCodes.Add(new Unit("123", "Test Name"));
});
}
public class Unit : MvxViewModel
{
private string unitCode;
public string UnitCode
{
get { return unitCode; }
set { unitCode = value; RaisePropertyChanged(() => UnitCode); }
}
private string unitName;
public string UnitName
{
get { return unitName; }
set { unitName = value; RaisePropertyChanged(() => UnitName); }
}
public Unit() { }
public Unit(string unitCode, string unitName)
{
UnitCode = unitCode;
UnitName = unitName;
}
}
}
View.axml
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:local="http://schemas.android.com/apk/res-auto"
android:orientation="vertical"
android:layout_width="fill_parent"
android:layout_height="fill_parent">
<Button
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:textSize="40dp"
local:MvxBind="Click ButtonCommand"
android:text="Click To Add" />
<Mvx.MvxListView
android:layout_width="fill_parent"
android:layout_height="fill_parent"
local:MvxItemTemplate="@layout/unitcodeitemlayout"
local:MvxBind="ItemSource UnitCodes" />
</LinearLayout>
unitcodeitemlayout.axml
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:local="http://schemas.android.com/apk/res-auto"
android:orientation="vertical"
android:layout_width="match_parent"
android:layout_height="match_parent">
<TextView
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:textSize="20dp"
local:MvxBind="Text UnitName" />
<TextView
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:textSize="30dp"
local:MvxBind="Text UnitCode" />
</LinearLayout>
Мой код не имеет никакой компиляции или ошибки времени выполнения, однако ничего не происходит по нажатию кнопки. Я хочу, чтобы каждый раз, когда я нажимаю кнопку, я добавляю «123» и «Test Name».
Человек, которого вы нашли! Благодаря! +1 для тщательной проверки моего кода. –