Создать и использовать страницу WPF с C ++ / CLR - PullRequest
0 голосов
/ 15 октября 2018

Я хочу использовать C ++ / CLR для создания пользовательского интерфейса для моего приложения.Мне нужен C ++ / CLR, потому что я имею дело с большим количеством собственного кода Win32 C ++.Поэтому я попытался сделать свое приложение с помощью следующих шагов, но они не работают:

Создать пустой проект

Кодировка Unicode и включить / clr

Добавить ссылки наPresentationCore, PresentationFramework, System и WindowsBase

Добавьте App.xaml, App.xaml.h, MainWindow.xaml, MainWindow.xaml.h

Добавьте код InitalizeComponent в MainWindow.xaml.h (вот где у меня проблемы.)

Это мой код mainwindow.xaml.h

#pragma once
using namespace System::Windows;
using namespace System;
namespace Project2
{
    public ref class MainWindow : Window
    {
    public:
        MainWindow()
        {
            System::Uri ^resourceLocater = gcnew System::Uri("component\MainWindow.xaml", System::UriKind::Relative);

#line 1 "..\..\MainWindow.xaml"
            System::Windows::Application::LoadComponent(this, resourceLocater);
        }
    };
}

Код моей точки входа:

#include <Windows.h>
#include "App.xaml.h"
#include "MainWindow.xaml.h"
using namespace System;
using namespace System::Windows;
[STAThreadAttribute]

int WINAPI WinMain(HINSTANCE a, HINSTANCE b, LPSTR c, int d)
{
    auto win = gcnew Project2::MainWindow();
    auto app = gcnew Project2::App();
    app->Run(win);
    return 0;
}

А вот мой код app.xaml.h:

#pragma once
using namespace System::Windows;
namespace Project2
{
    public ref class App : Application
    {
    public:

    };
}

MainWindow.xaml и App.xaml содержат допустимую разметку.Я попытался изменить значения для System :: Uri resoucelocator, но ничего не изменилось.Я просто получаю System.IO.IOException: The mainwindow.xaml was not found

Есть идеи?

...