Я пытаюсь скрыть элемент пользовательского интерфейса при загрузке просмотра. Я использую Xamarin iOS и MvvmCross (6.2.3.0). На мой взгляд, я создаю поле uitext и добавляю следующую привязку:
public override void ViewDidLoad()
{
//adding uitextfield
var set - this.CreateBindingSet(MyViewConroller, MyViewModel>();
set.Bind(uitextfield).For("Visibility").To(vm => vm.FieldVisibility).TwoWay().WithConversion("Visibility");
}
А вот моя модель:
public MyViewModel : MvxViewModel
{
private bool _fieldVisibility;
public bool FieldVisibility
{
get {return _fieldVisibility;}
set {
SetProperty(ref _fieldVisibility, value);
}
public override Task Initialize() {
FieldVisibility = false;
}
Но когда представление загружено, мое поле uitext все еще видно. Я пытался вызвать RaisePropertyChanged, но это не помогло:
private bool _fieldVisibility;
public bool FieldVisibility
{
get {return _fieldVisibility;}
set {
SetProperty(ref _fieldVisibility, value);
RaisePropertyChanged(nameof(FieldVisibility));
}
Это работает, когда я изменяю другое свойство viewmodel и просто вызываю:
private string _otherProperty;
public string OtherProperty
{
get {return _otherProperty;}
set {
SetProperty(ref _otherProperty, value);
FieldVisibility = false;
RaisePropertyChanged(nameof(FieldVisibility));
}
но я бы хотел, чтобы это поле uitext было скрыто при загрузке просмотра. Можете ли вы предложить какое-либо решение для этого? Буду очень признателен за любую подсказку. Спасибо !!
С наилучшими пожеланиями
Кшиштоф