Я хочу установить настраиваемую строку заголовка для действия, в строке заголовка есть кнопка, привязанная к команде в модели вида деятельности.Перемещение MvvmCross в пользовательской строке заголовка
Как-то я не удивился, что это не сработало.
Можно ли заставить его работать?
Код:
MainView.cs:
[Activity]
public class MainView : MvxActivity
{
protected override void OnCreate (Bundle savedInstanceState)
{
this.RequestWindowFeature(WindowFeatures.CustomTitle);
base.OnCreate (savedInstanceState);
this.Window.SetFeatureInt(WindowFeatures.CustomTitle, Resource.Layout.MainWindowTitle);
SetContentView(Resource.Layout.MainView);
}
}
MainWindowTitle.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">
<ImageButton
android:id="@+id/search"
android:src="@drawable/magnify"
local:MvxBind="Click SearchCommand" />
</LinearLayout>
MainViewModel.cs
public class MainViewModel : MvxViewModel
{
public IMvxCommand SearchCommand { get; private set; }
....
}
Спасибо. Я не знаю, как установить его в виде представления. Тем временем я обнаружил, что вы уже показали, создавая привязку по коду. Я вижу так много способов создания привязок CreateBindings, CreateBinding, CreateBindingSet. –
Вместо того, чтобы создавать привязки для каждого отдельного элемента управления, возможно ли связать экземпляр LinearLayout с моделью просмотра и привязать привязки к дочерним элементам управления? В макете заголовка я мог бы дать корневому LinearLayout id, а затем вызвать FindViewById в действии и попытаться привязать к нему модель представления. Связи, объявленные в XML на каждом элементе управления, я предполагаю, что модель представления будет установлена в их родительский элемент управления –
да - вы можете сделать это, если хотите. но только xml, накачиваемый инфлятором mvx, понимает привязку – Stuart