.NET Framework - xaml 2 cpp

Asked By Hernán on 12-Mar-11 05:03 PM
Hola, disculpen mi ignorancia.

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

Gracias.

--
Todo bien




Cholo Lennon replied to Hernán on 15-Mar-11 01:21 PM
Hola Hernan :-)

No deberia responder en forma negativa, pero como este grupo esta medio
abandonado...  la verdad que yo no tengo idea si se puede o no. No he
tenido la oportunidad de trabajar con xaml hasta el momento.

Saludos


--
Cholo Lennon
Bs.As.
ARG
Hernán replied to Cholo Lennon on 15-Mar-11 03:35 PM
Saludos Cholo,

har? un par de semanas que termin? mi primer programita en C++ y el
primero en WPF (para mi hermana): tres o cuatro pantallitas para
registrar inscripciones de alumnos (sqlite + scanner).

Y me llam? la atenci?n esta carencia. Termin? usando el dise?ador de
vbnet y traduciendo el xaml mec?nicamente a manopla.

--
Todo bien.
xcal replied to Hernán on 16-Mar-11 05:20 PM
hola cholo!, hola Hernan!, el RFOG volvio por aqui?

saludos! tambien a los demas sean nuevos o viejos!
acabe de entrar, soy xcal,
mucho gusto de verles por aqui de nuevo
en NTTP!, yo posteo desde aioe.org
con las justas veo pocos mensajes en
este grupo.


no tengo idea de qu? habr?s hecho, que yo sepa
s?lo se pueden usar controles WPF en c?digo nativo
o controles nativos en aplicaciones C++


subrayo que se poco, creo que
el C++ nativo, net o mixto no e usa con WPF.

mucho peor aun, en Windows Phone 7 ni siquiera existe el C++,
y la sorpresa mas grande que me llev? es que no existe ni siquiera
Pinvoke! ni DllImport. Windows Phone 7, es creo la ultima version de
algun Windows que ha salido, y todo lo rueda en c?digo manejado.

Bueno, Hernan, si traduces XAML
a una especie de designer, seria para tener al final
Windows Forms, pero creo que no WPF.

No tengo Visual Studio en esta maquina, no
puedo comprobar lo que acabe de decir.

Ademas entiendo que en Win Phone 7
el "designer" es en gran parte el XAML,
este rueda mas rapido que el designer de C#,
pero este aun no lo vi, si es que existe.

espero ayude,
saludos,
Carlos.
xcal replied to xcal on 16-Mar-11 05:26 PM
perdon Hern?n, acabe de darme
cuenta en mi ignorancia que estoy asumiendo
que XAML solo se usa con WPF,
bueno, no se nada de otra cosa que tenga XAML   :)
xcal replied to xcal on 16-Mar-11 05:49 PM
- comentarios adicionales -

el XAML de WPF es solo un
designer sin ningun soporte a eventos,
o mayores definiciones, solo sirve para
dibujar o definir cosas en la pantalla.

Tengo entendido que rueda mas r?pido que
el tipico designer de C#, pero sabiendo lo lento
que era iniciar una aplicacion WinForms
en Windows Mobil creo que Win Phone 7
estaria condenado a -no- iniciar sus aplicativos
de forma instantanea, porque las clases WPF
me parecen mucho mas pesadas que las Win Forms

No me compr? aun ningun Win Phone 7,
habria que chequear
Hernán replied to xcal on 16-Mar-11 10:43 PM
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 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!");
}

==============================================================
Hernán replied to Hernán on 16-Mar-11 10:47 PM
Esto no es necesario.
xcal replied to Hernán on 17-Mar-11 04:21 PM
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
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
Hernán replied to xcal on 17-Mar-11 05:37 PM
noticias:iltqen$8nj$1@speranza.aioe.org...



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.



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




--
Todo bien.
xcal replied to Hernán on 17-Mar-11 06:57 PM
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


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


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
Cholo Lennon replied to Hernán on 18-Mar-11 09:41 AM
No entiendo bien cual es el problema aca: Dificultades con seleccionar
que tipo de aplicacion? Es decir de consola o gui? Si es asi,
simplemente debes ir al menu Project/Properties opcion
Linker/System/SubSystem y elegir lo mas adecuado a tus necesidades.



--
Cholo Lennon
Bs.As.
ARG
Cholo Lennon replied to xcal on 18-Mar-11 09:51 AM
Hola Carlos :-) que bueno que estes por este "desolado" lugar jeje. RFOG
parece que emigro directamente para no volver, seria bueno repatriarlo,
sobre todo ahora que estan preguntando cosas de WPF de las cuales no
tengo idea.


Yo posteo tambien desde aioe.org. De hecho, yo nunca me fui de aca,
simplemente cambie de servidor el mismo dia que MS dio de baja los
suyos. Por suerte MS no reclamo el cierre de la jerarquia usenet del
grupo :-) asi que yo por lo menos voy a seguir por participando como
siempre.

Saludos



--
Cholo Lennon
Bs.As.
ARG
Hernán replied to Cholo Lennon on 19-Mar-11 11:52 AM
noticias:ilvndo$kcs$1@speranza.aioe.org...



Buenas Cholo,

el problema es que se da una colisi?n de namespaces. Digamos el point,
la ellipse, el rectangle del gdi con los del wpf. Y uno debe andar
explicitando.

Si el subsystem es windows, el startup insiste en pedir una funci?n
principal de usuario llamada WinMain()  con 4 argumentos en la pila...

--
Todo bien.
xcal replied to Cholo Lennon on 21-Mar-11 03:11 PM
es hasta preocupante, incluso los grupos en ingles
de vc tienen me parece muchisimo menor actividad,
y la verdad, detesto los nuevos foros de Microsoft.
En el pasado nunca pense que iba a detestar algo
de Microsoft, como ya dije, creo que hay gente
dentro de Microsoft que juega en contra.

ok, un dia de estos le enviare un email a RFOG avisandole
que al menos estamos usted, Hernan y yo en este foro
debo ir a su pagina web, ahi debe estar su email.

pienso que WPF es una especie de Windows Forms
mas amplio, puesto "de moda" porque se incluye principalmente en
el desarrollo para Windows Phone 7. Creo que eso nos madrug?
a todos los desarrolladores iniciantes o avanzados de Windows
y nuevamente muchos nos vemos como principiantes. Aunque
WPF esta pensado creo, solo para C#.


ok, saludos tambi?n, esperemos que el grupo solo mejore

Carlos
xcal replied to xcal on 21-Mar-11 03:21 PM
ERROR, discupen,
esta informaci?n la encontre en varias
paginas de internet, pero ahora pienso que esta
errada