Size: a a a

Xamarin Developers

2020 August 04

KA

Kirill Ashikhmin in Xamarin Developers
Kirill
Нужно получить рутовый view в ContentPage у которой ControlTemplate
page.Content?
источник

K

Kirill in Xamarin Developers
Kirill Ashikhmin
page.Content?
Это не рутовый элемент
источник

KA

Kirill Ashikhmin in Xamarin Developers
Kirill
Это не рутовый элемент
нужно элемент, который именно в ControlTemplate?
источник

K

Kirill in Xamarin Developers
Kirill Ashikhmin
нужно элемент, который именно в ControlTemplate?
Да, но не по имени
источник

KA

Kirill Ashikhmin in Xamarin Developers
Kirill
Да, но не по имени
Page.ControlTemplate.Content?
источник

K

Kirill in Xamarin Developers
Kirill Ashikhmin
Page.ControlTemplate.Content?
Это же template, там нет такого
источник

KA

Kirill Ashikhmin in Xamarin Developers
Kirill
Это же template, там нет такого
аа, да.
Ну, мы сделали так:
на странице
var toolbar = new Toolbar();
ControlTemplate = new CustomControlTemplate(() => toolbar);


и такой класс

public class CustomControlTemplate : ControlTemplate
 {
   public CustomControlTemplate(Func<object> loadTemplate)
   {
     if (loadTemplate == null)
       throw new ArgumentNullException(nameof(loadTemplate));
     var property = typeof(ElementTemplate).GetProperty(@"LoadTemplate", BindingFlags.NonPublic | BindingFlags.Instance);
     if (property == null) return;
     property.SetValue(this, loadTemplate);
   }
 }


рефлексия, конечно, но так можно задавать не класс, а инстанс. И на странице к нему доступ прямой есть.
источник

K

Kirill in Xamarin Developers
Kirill Ashikhmin
аа, да.
Ну, мы сделали так:
на странице
var toolbar = new Toolbar();
ControlTemplate = new CustomControlTemplate(() => toolbar);


и такой класс

public class CustomControlTemplate : ControlTemplate
 {
   public CustomControlTemplate(Func<object> loadTemplate)
   {
     if (loadTemplate == null)
       throw new ArgumentNullException(nameof(loadTemplate));
     var property = typeof(ElementTemplate).GetProperty(@"LoadTemplate", BindingFlags.NonPublic | BindingFlags.Instance);
     if (property == null) return;
     property.SetValue(this, loadTemplate);
   }
 }


рефлексия, конечно, но так можно задавать не класс, а инстанс. И на странице к нему доступ прямой есть.
View GetRootView(PopupPage page) => (View)page.InternalChildren.FirstOrDefault();

так проще, но мне не очень нравится
источник

KA

Kirill Ashikhmin in Xamarin Developers
Kirill
View GetRootView(PopupPage page) => (View)page.InternalChildren.FirstOrDefault();

так проще, но мне не очень нравится
Ну тоже вариант. Хотя что выше скинул, если не смотреть CustomControlTemplate, то чище получается
источник

K

Kirill in Xamarin Developers
Kirill Ashikhmin
Ну тоже вариант. Хотя что выше скинул, если не смотреть CustomControlTemplate, то чище получается
Так я не могу так сделать, как заставить всех пользователей плагина использовать CustomTemplate? Никто этого делать не будет_
источник

KA

Kirill Ashikhmin in Xamarin Developers
Kirill
Так я не могу так сделать, как заставить всех пользователей плагина использовать CustomTemplate? Никто этого делать не будет_
ааа, ты для библиотеки хочешь.. ну тогда да
источник

N

Noino in Xamarin Developers
Kirill
Так я не могу так сделать, как заставить всех пользователей плагина использовать CustomTemplate? Никто этого делать не будет_
источник

K

Kirill in Xamarin Developers
Спасибо
источник

N

Noino in Xamarin Developers
Kirill
Спасибо
То что нужно?
источник

K

Kirill in Xamarin Developers
Noino
То что нужно?
Думаю, нет, это все таки xaml штуки, а мне надо было извлечь root в code behind
источник

N

Noino in Xamarin Developers
Обращайся из кода к BindingContext. Он и должен быть рутом
источник

N

Noino in Xamarin Developers
Ну эт при условии что это одно и тоже)
источник

SG

Samwise Gamgee in Xamarin Developers
Ребят, а что с DisplayPromptAsync, почему с 4.5 устарел?
источник
2020 August 05

СД

Сергей Дедов... in Xamarin Developers
Ребята, есть у кого опыт имплементации WebRTC в приложении?
источник

АА

Алексеев Александр... in Xamarin Developers
Сергей Дедов
Ребята, есть у кого опыт имплементации WebRTC в приложении?
Есть опыт использования готовых SDK для видео стриминга
источник