Rodimus74 Ответов: 0

Нулевая цель в UWP объекта


Привет,

Я пытаюсь показать изображение на кнопке, однако моя проблема заключается в том, что элемент массива (т. е. CurrentPosition) является нулевым, а не ссылочным .characterImage.

Это означает, что XAML не обрабатывает TargetNullValue.

<Button>
  <Image>
      <Image.Source>
          <Binding Path="CurrentPosition[0,2].characterImage"
            <Binding.TargetNullValue>
                <ImageSource>Assets/PNG/Blank.png</ImageSource>
            </Binding.TargetNullValue>
          </Binding>
      </Image.Source>
 </Image>



Я мог бы сделать это в коде C#, но хотел посмотреть, есть ли решение XAML.

Спасибо за вашу помощь.

Что я уже пробовал:

Я попытался реализовать
NullableValueConverter

Richard MacCutchan

Где CurrentPosition приготовиться?

Rodimus74

Спасибо за ответ, Ричард.


public sealed partial class MainPage: страница
{
private aViewModel myViewModel = new aViewModel();

публичная Главная страница()
{
этот.метод InitializeComponent();
этот.Загружен += В Onloaded;

этот.DataContext = myViewModel;


myViewModel.StartNew();
}
}


//В виртуальной машине

публичный класс aViewModel : INotifyPropertyChanged
{
публичный характер [,] CurrentPosition
{
get { return _currentPosition; }
частная множества { _currentPosition = значение; RaiseProperty("текущий положение знака"); }
}

общественного недействительными StartNew()
{
arrayOfClass[1,1] = новый anObject();

CurrentPosition = arrayOfClass[1, 1];
}
}



----
Я считаю, что проблема заключается в том, что объект array не был создан, но NullTarget не защищает XAML. XAML будет защищен там, где существует объект array и ссылочное свойство внутри объекта равно null.

Karthik_Mahalingam

Всегда использовать  Ответить  кнопка, чтобы отправить комментарии / запрос пользователю, чтобы пользователь получил уведомление и ответил на ваш текст.

Richard MacCutchan

Вы должны обновить свой вопрос с помощью кода, чтобы мы могли видеть все это в одном месте. Однако я не могу понять, какая там ценность из всего вышесказанного. Смещения вполне могут быть недействительными, что вы легко можете проверить с помощью своего отладчика.

0 Ответов