Использование класса DataGrid (CommunityToolkit.winui.ui.controls) на острове Xaml из библиотеки класса C#C++

Программы на C++. Форум разработчиков
Ответить
Anonymous
 Использование класса DataGrid (CommunityToolkit.winui.ui.controls) на острове Xaml из библиотеки класса C#

Сообщение Anonymous »

У меня есть следующая настройка: я отображаю элементы Winui3 из библиотеки класса C# в приложении Win32 C ++ с использованием островов XAML, контроль, который я хочу использовать, является сообществом toolkit.winui.ui.controls DataGrid, но это доступно только для C#, который мне нужно использовать C# Class. : < /p>
public static int ShowWindow(nint args, int sizeBytes)
#pragma warning restore IDE0060 // Remove unused parameter
{
// Initialize WinAppSDK 1.6 or 1.7
if (!Bootstrap.TryInitialize(0x00010007, string.Empty, new PackageVersion(), Bootstrap.InitializeOptions.None, out var hr) &&
!Bootstrap.TryInitialize(0x00010006, string.Empty, new PackageVersion(), Bootstrap.InitializeOptions.OnNoMatch_ShowUI, out hr))
return hr;

if (_app == null)
{
_app = new DummyApp(); // Optional: enables WinUI 3 styles
DispatcherQueueController.CreateOnCurrentThread();
}

var _source = new DesktopWindowXamlSource();
_source.Initialize(Win32Interop.GetWindowIdFromWindow(args));

var window = new Microsoft.UI.Xaml.Window();

var sampleData = new List
{
new Person { Name = "Alice", Age = 30 },
new Person { Name = "Bob", Age = 25 },
new Person { Name = "Charlie", Age = 35 }
};

var dataGrid = new CommunityToolkit.WinUI.UI.Controls.DataGrid
{
AutoGenerateColumns = true,
ItemsSource = sampleData,
Margin = new Thickness(20)
};

var grid = new Microsoft.UI.Xaml.Controls.Grid
{
Background = new Microsoft.UI.Xaml.Media.SolidColorBrush(Microsoft.UI.Colors.White)
};
grid.Children.Add(dataGrid);

window.Content = grid;
window.Activate();

return 0;
}
< /code>
он компилирует и работает за исключением того, что DataGrid не отображается, окно, которое я создаю, пустое, тот же код работает и правильно отображает DataGrid, если я сделаю это в C# winui3. Есть идеи почему?
Проект здесь.

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

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

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

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

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

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