В проекте WinUI3 приведенный ниже код XAML ListView работает отлично, пользовательский интерфейс в UserHomeView генерируется, а все свойства и процессы, зависящие от UserHomeViewModel, запускаются и обновляются.< /p>
Когда я перемещаю UserHomeView в DataTemplate, чтобы все элементы в KioskCollection генерировались автоматически, он правильно отображает пользовательский интерфейс UserHomeView столько раз, сколько элементов в KioskCollection, но свойство UserHomeViewModel не привязано ни к одному из сгенерированных элементов и отображается как нулевое во всех из них, поэтому результирующий пользовательский интерфейс для каждого элемента совершенно непригоден для использования.
Я повторно использую UserHomeView в нескольких разделах своего приложения, и он терпит неудачу только при размещении внутри DataTemplate. Я тестировал ListView и GridView, и оба дали один и тот же результат.
При размещении внутри DataTemplate в ListBox он работает отлично, свойство UserHomeViewModel привязано правильно, и полученный пользовательский интерфейс для каждого элемента полностью пригоден к использованию.
Однако мне действительно нужен элемент управления GridView, который в настоящее время дает тот же неудачный результат, что и ListView. Я предполагаю, что это как-то связано с тем, как работает GridView/ListView, и это отличается от ListBox, но я не понимаю/не знаю, что это такое. Кто-нибудь знает, почему это происходит? Я действительно хочу иметь возможность использовать GridView вместо ListBox.
Примечание: я использовал ListView в качестве пример, поскольку GridView более многословен при создании шаблона, но по сути это то же самое.
Подробнее здесь:
https://stackoverflow.com/questions/791 ... l-property