Изображения в ListView в приложении WPF с привязкой данных [дубликат]

Другие ответы превосходны, и я просто хочу дать прямой ответ на этот вопрос. Просто ограничение асинхронных вызовов jQuery

Все вызовы ajax (включая $.get или $.post или $.ajax) асинхронны.

Учитывая ваш пример

var outerScopeVar;  //line 1
$.post('loldog', function(response) {  //line 2
    outerScopeVar = response;
});
alert(outerScopeVar);  //line 3

Выполнение кода начинается с строки 1, объявляет переменную и триггеры и асинхронный вызов в строке 2 (т. е. пост-запрос), и продолжает выполнение из строки 3, не дожидаясь, когда почтовый запрос завершит выполнение .

Допустим, что запрос на отправку занимает 10 секунд, значение outerScopeVar будет установлено только после этих 10 секунд.

Чтобы попробовать,

var outerScopeVar; //line 1
$.post('loldog', function(response) {  //line 2, takes 10 seconds to complete
    outerScopeVar = response;
});
alert("Lets wait for some time here! Waiting is fun");  //line 3
alert(outerScopeVar);  //line 4

Теперь, когда вы выполните это, вы получите предупреждение в строке 3. Теперь подождите некоторое время, пока не убедитесь, что почтовый запрос вернул некоторое значение. Затем, когда вы нажмете «ОК», в окне предупреждения следующее предупреждение выведет ожидаемое значение, потому что вы его ждали.

В сценарии реальной жизни код становится,

var outerScopeVar;
$.post('loldog', function(response) {
    outerScopeVar = response;
    alert(outerScopeVar);
});

Весь код, который зависит от асинхронных вызовов, перемещается внутри асинхронного блока или ожидает асинхронных вызовов.

19
задан Martyn Ball 7 September 2014 в 20:45
поделиться

3 ответа

  • Создайте папку (например, images) в проекте Visual Studio.
  • Добавьте файлы изображений в эту папку.
  • Установите их Build Action в Resource (в окне «Свойства» см. второе изображение в этом ответе ).

Затем напишите свойство UriSource, как вы уже сделали:

UriSource="/images/jamsnaps-dark.png"

Этот URI является фактически URI файла файла ресурсов , где префикс автоматически добавляется WPF.

30
ответ дан Community 23 August 2018 в 18:25
поделиться
  1. Добавить изображение в каталог вашего проекта
  2. В проводнике решений щелкните правой кнопкой мыши изображение и выберите Include in Project

Действие сборки должно быть установлено по умолчанию Resource.

Затем вы можете начать использовать путь изображения относительно корня, например images/text.jpg, если вы поместите его в папку с именем images.

0
ответ дан codeafin 23 August 2018 в 18:25
поделиться

Две опции:

1) Выйдите из bin / Debug и в свою папку приложений с помощью ../../, а затем на свое изображение.

  <Image>
      <Image.Source>
           <BitmapImage  UriSource="../../images/jamsnaps-dark.png" />
      </Image.Source>
   </Image>

2) Скомпилируйте свои изображения как контент из свойств в контекстном меню в файле изображения, а затем при компиляции они будут помещены в отладочную. Я не помню, если вам также нужно сказать им, чтобы они копировали локальные объекты также в свойствах (я не рядом с компьютером в данный момент, поэтому я не могу проверить.

1
ответ дан eran otzap 23 August 2018 в 18:25
поделиться
Другие вопросы по тегам:

Похожие вопросы: