Xamarin, обновить интерфейс от кода? [Дубликат]

У меня была аналогичная проблема для проекта, который имеет две цели (с их собственным MainWindow XIB). Основная проблема, вызвавшая эту ошибку для меня, заключалась в том, что класс UIViewController не был включен в список ресурсов второго проекта. То есть конструктор интерфейса позволил мне указать его в MainWindow.xib, но во время выполнения система не смогла найти класс.

I.e. cmd-click в рассматриваемом классе UIViewController и дважды проверьте, что он включен в вкладку «Цели».

8
задан valdetero 19 May 2015 в 22:40
поделиться

3 ответа

Чтобы получить доступ к элементу управления Forms в коде, вам необходимо присвоить ему имя, используя атрибут x:Name

в XAML:

<ListView HorizontalOptions="Center" x:Name="MyList" />

в коде :

MyList.ItemsSource = myData;
21
ответ дан Jason 21 August 2018 в 11:22
поделиться
  • 1
    Спасибо. Он работает, но автозаполнение не распознает его. – techno 14 October 2014 в 07:13
  • 2
    Pls предлагает, если я хочу получить доступ, если из класса в платформе Специфический проект унаследован от PageRenderer с помощью ExportRenderer. – Tunvir Rahman Tusher 12 February 2017 в 08:19

В Xamarin есть ошибка, в которой VS не видит определенного x: Name http://forums.xamarin.com/discussion/25409/problem-with-xaml-x-name-and-access -from-code-behind

Предположим, вы определили изображение в XAML:

<Image x:Name="myImageXName" />

Тогда это должно работать в коде позади:

this.FindByName<Image>("myImageXName");
9
ответ дан Thomas Hagström 21 August 2018 в 11:22
поделиться
  • 1
    Может подтвердить. Я все время сталкиваюсь с этой проблемой на Xamarin Studio и должен это делать. – Dave Voyles - MSFT 12 December 2016 в 17:34

В моем случае проблема заключалась в отсутствии строки XamlCompilation(XamlCompilationOptions.Compile)] в файле .xaml.cs.

Пример:

[XamlCompilation(XamlCompilationOptions.Compile)]
public partial class MainPage : ContentPage
{
    public MainPage()
    {
        InitializeComponent();
        BindingContext = new MainPageViewModel();
    }
    ...
}
2
ответ дан Zippy 21 August 2018 в 11:22
поделиться
Другие вопросы по тегам:

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