xaml 2 cpp

12/03/2011 - 23:03 por Hernán | Informe spam
Hola, disculpen mi ignorancia.

¿Existe alguna herramienta para convertir de XAML a C++?

Gracias.

Todo bien

Preguntas similare

Leer las respuestas

#6 Hernán
17/03/2011 - 03:43 | Informe spam
"xcal" escribió en el mensaje de noticias
news:ilrb6c$p4j$
Mostrar la cita
En winforms el output del diseñador ocurre en el lenguaje del
compilador. En wpf, el output ocurre en xaml, que c++ no parsea.

De todos modos, no es xaml lo que uno desea, sino el diseñador.

Digamos, el ejemplo del primer tutorial en la doc de wpf, podrías
traducirlo a c++, así

//simple.cpp //#pragma once
#using <System.dll>
#using <PresentationCore.dll>
#using <PresentationFramework.dll>
#using <WindowsBase.dll>

#include <windows.h>

using namespace System;
using namespace System::Windows;
using namespace System::Windows::Controls;

//
public ref class MiVentana : public Window
{
public:
MiVentana();

event RoutedEventHandler ^Click;

private:
void button_click(Object ^sender, RoutedEventArgs ^e);
};

//
[STAThread]
int WINAPI WinMain(HINSTANCE hInstance, HINSTANCE hPrevInstance, LPSTR
lpCmdLine, int nCmdShow)
{
Application ^aplica = gcnew Application();
aplica->Run(gcnew MiVentana());

//
return 0;
}

//
MiVentana::MiVentana()
{
this->Title = L"Ventana con un botón";
this->Width = 250;
this->Height = 100;

Button ^boton = gcnew Button();

boton->Content = L"Clicame acá";
boton->Name = L"button";
boton->Click += gcnew RoutedEventHandler(this,
&MiVentana::button_click);
this->Content = boton;
}

//
void MiVentana::button_click(Object ^sender, RoutedEventArgs ^e)
{
MessageBox::Show(L"Hello, Windows Presentation Foundation!");
}

=
#7 Hernán
17/03/2011 - 03:47 | Informe spam
Mostrar la cita
Esto no es necesario.
#8 xcal
17/03/2011 - 21:21 | Informe spam
Mostrar la cita
muchas gracias por la idea, pero
tu metodo puede fallar si no
todas las funciones de WPF
se encuentran dentro de
PresentationFramework.dll, algo muy tipico
en Net Framework,
supongo que eso ya lo resolviste

Tal vez, traducir XAML a un designer de C++
puede que sea mas complicado de lo que
parece, soy iniciante en eso,
hay que chequear si hay muchos trucos pequeños
escondidos para escribir el archivo XAML

En todo caso, tal vez sea más facil
"rodar el proyecto WPF", y cuando se
tiene la ventana en pantalla, ahi
obtener la ventana padre,
las ventanas hijas, los hijos de estos, etc, y ahi
escribir un "designer" aproximado para C++.
esto es harto conocido, y libre de analizar
los textos del archivo XAML

me temo que tal vez dije solo p*ja mental

un saludo,
Carlos
#9 Hernán
17/03/2011 - 22:37 | Informe spam
"xcal" escribió en el mensaje de
noticias:iltqen$8nj$

Mostrar la cita
Hola Carlos,

yo simplemente abrí un proyecto CLR vacío y agregué todas las
referencias que necesitaba...

Lo que no pude hacer es evitar incluir el <windows.h> o, mejor dicho, el
WinMain() ya que si llamo a main() el tipo me genera un ejecutable para
la consola. El programa corre, pero se ve la ventana de la consola.

Mostrar la cita
Bueno, yo me conformaba con un conversor xaml->cpp. Digamos, lo que
escribí dentro del constructor de MiVentana, estaba escrito en xaml.


Mostrar la cita
Todo bien.
#10 xcal
17/03/2011 - 23:57 | Informe spam
Mostrar la cita
hehe, de esa forma en su tiempo,
llegue a crear programas
Compact Net 1.0 sin visual studio,
hehehe
pero el problma es que podria faltarte un dll

Mostrar la cita
supongo que si se puede hacer que no se vea la consola

Mostrar la cita
Hernán disculpa, no escribí que ya busque
en internet, no encontre y me parece
que no hay, ojalá sea cuestion de tiempo
que aparezca algun conversor. De ahi
traté de imaginar algua forma razonable y
rapida de contornear la situación

Por otro lado, el hecho de que Win Phone 7
sea puro codigo manejado, implica que posiblemente
esa tendencia se expanda a Window 8 y no precisemos
combinar codigo nativo con manejado, en fin
quien sabe que va a pasar
Ads by Google
Search Busqueda sugerida