Как получить hwnd -ручку элементов в .net mauiC#

Место общения программистов C#
Ответить
Anonymous
 Как получить hwnd -ручку элементов в .net maui

Сообщение Anonymous »

Я работаю над интеграцией Dahua CCTV SDK (для живых камер) в приложение .NET MAUI. Я успешно реализовал это в WPF (Windows), используя hwndhost и в авалонии (Windows/Mac) с использованием NativeControlhost , но я изо всех сил пытаюсь найти эквивалентный подход в .NET MAUI. Hwndhost класс для создания нативного ручки окна, который Dahua SDK может прикрепить к:

Код: Выделить всё

public class HandleControl : HwndHost
{
protected override HandleRef BuildWindowCore(HandleRef hwndParent)
{
IntPtr hwndHost = CreateWindowEx(0, "static", "",
WS_CHILD | WS_VISIBLE | SS_BLACKRECT,
0, 0, hostWidth, hostHeight,
hwndParent.Handle, (IntPtr)HOST_ID, IntPtr.Zero, 0);

ReadyCommand?.Execute(hwndHost);
return new HandleRef(this, hwndHost);
}
}
В Avalonia я использую nativecontrolhost , который обеспечивает аналогичный механизм для интеграции платформы -родной ручки. Тем не менее, .NET MAUI, похоже, не подвергает отдельных ручных управляемых элементов пользовательского интерфейса одинаково. Но документация больше фокусируется на стилии, а не на доступе к низкоуровневому контролю
[*] Подходы кода, специфичные для платформы, используя #if Windows Директивы

Ключевые вопросы

[*]. сете. Nativecontrolhost ?
[*] Как я могу получить нативную ручку с оконным оконным видом для конкретного элемента пользовательского интерфейса (например, граница или контент) в .net maui? против Mac против мобильных платформ? < /li>
< /ol>
Идеальное решение позволит мне создать контроль контейнера, который обеспечивает нативную ручку, которую я могу затем передать в методы инициализации Dahua SDK, аналогично тому, как работает моя реализация WPF. Оцените. Директивы


Подробнее здесь: https://stackoverflow.com/questions/797 ... n-net-maui
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «C#»