Alguien sabe algo de WPF

02/02/2009 - 04:52 por Leon | Informe spam
Saludos listeros,

Estoy desarrollando una aplicación en C# 2008

Al momento necesito poner bonita una pantalla que tendría lo siguiente:

quiero visualizar en la pantalla, una especie de emulación de un edificio en
donde
en las filas irían los cajoncitos y en donde cada cajoncito iría con un
número adentro
que indicaría el número del apto.
O sea cada piso sería la fila con sus aptos.

Ahora lo otro es poder cambiar el color a cada cajoncito, en cualquier
momento.

Para hacer esto opté por WPF porque he visto que se pueden utilizar estilos
para
colocar bordes y colores a los cojones, de forma que sea mas estético para
los
usuarios.

He tratado de usar el grid, pero me parece que es lo mismo que obtengo con
un
grid de una winform.

Si alquien me pudiera dar algún consejo con depronto otros controles
diferentes,
le estaría altamente agradecido.

saludos,

león.

Preguntas similare

Leer las respuestas

#1 Javier Lozano
02/02/2009 - 20:44 | Informe spam
Hola

WPF y Silverlight son - segun mi humilde opinion - el futuro en el
desarrollo de aplicaciones desktop e internet. Atendiendo tu consulta, un
grid en WPF es una contenedor que puede ser dividido en filas y columnas y
cada uno de estos puede alojar otros elementos de WPF (contenedores como
StackPanesl, Border,DockPanel, etc y conttroles, como buttons, textblocks,
etc). Si te refieres a un datagrid, tal y como lo entendemos en WinForms,
no existe en WPF, tampoco el datetimpicker. Sin embargo en la proxima
version de WPF, estos controles estaran disponibles, mientras tanto puedes
usar estos:

http://windowsclient.net/downloads/...76491.aspx

La herramienta recomendada para trabajar con WPF y Silverlight es Microsoft
Blend:
http://www.microsoft.com/expression...?key=blend

Un buen libro acerca de MS Blend 2
http://www.amazon.com/exec/obidos/A...echsystems

Y la pagina oficial de WPF donde encontrars una gran cantidad de recursos:
http://windowsclient.net/wpf/


Un excelente libro para sumergirte en el mundo de WPF es:
http://www.informit.com/store/product.aspx?isbn72329859

La arquitectura de una aplicacion WPF esta orientada a usar el patron MVVM:
http://msdn.microsoft.com/en-us/mag...19663.aspx


Mucha suerte con tus proyectos

Javier Lozano
Lima-Peru



"Leon" wrote in message
news:
Saludos listeros,

Estoy desarrollando una aplicación en C# 2008

Al momento necesito poner bonita una pantalla que tendría lo siguiente:

quiero visualizar en la pantalla, una especie de emulación de un edificio
en donde
en las filas irían los cajoncitos y en donde cada cajoncito iría con un
número adentro
que indicaría el número del apto.
O sea cada piso sería la fila con sus aptos.

Ahora lo otro es poder cambiar el color a cada cajoncito, en cualquier
momento.

Para hacer esto opté por WPF porque he visto que se pueden utilizar
estilos para
colocar bordes y colores a los cojones, de forma que sea mas estético para
los
usuarios.

He tratado de usar el grid, pero me parece que es lo mismo que obtengo con
un
grid de una winform.

Si alquien me pudiera dar algún consejo con depronto otros controles
diferentes,
le estaría altamente agradecido.

saludos,

león.

Respuesta Responder a este mensaje
#2 Leon
04/02/2009 - 03:03 | Informe spam
Javier, muchísimas gracias por la información, he estado investigando al
respecto
y veo que es bien interesante todo ésto.

Hay que trabajar bastante el Expression Blend, para hacer lo que quiero,
pero pienso
que me da toda autonomía para hacer un buen diseño.

Te agradezco mucho tu colaboración. Mil gracias.

león.



"Javier Lozano" wrote in message
news:%
Hola

WPF y Silverlight son - segun mi humilde opinion - el futuro en el
desarrollo de aplicaciones desktop e internet. Atendiendo tu consulta, un
grid en WPF es una contenedor que puede ser dividido en filas y columnas y
cada uno de estos puede alojar otros elementos de WPF (contenedores como
StackPanesl, Border,DockPanel, etc y conttroles, como buttons, textblocks,
etc). Si te refieres a un datagrid, tal y como lo entendemos en WinForms,
no existe en WPF, tampoco el datetimpicker. Sin embargo en la proxima
version de WPF, estos controles estaran disponibles, mientras tanto puedes
usar estos:

http://windowsclient.net/downloads/...76491.aspx

La herramienta recomendada para trabajar con WPF y Silverlight es
Microsoft Blend:
http://www.microsoft.com/expression...?key=blend

Un buen libro acerca de MS Blend 2
http://www.amazon.com/exec/obidos/A...echsystems

Y la pagina oficial de WPF donde encontrars una gran cantidad de recursos:
http://windowsclient.net/wpf/


Un excelente libro para sumergirte en el mundo de WPF es:
http://www.informit.com/store/product.aspx?isbn72329859

La arquitectura de una aplicacion WPF esta orientada a usar el patron
MVVM:
http://msdn.microsoft.com/en-us/mag...19663.aspx


Mucha suerte con tus proyectos

Javier Lozano
Lima-Peru



"Leon" wrote in message
news:
Saludos listeros,

Estoy desarrollando una aplicación en C# 2008

Al momento necesito poner bonita una pantalla que tendría lo siguiente:

quiero visualizar en la pantalla, una especie de emulación de un edificio
en donde
en las filas irían los cajoncitos y en donde cada cajoncito iría con un
número adentro
que indicaría el número del apto.
O sea cada piso sería la fila con sus aptos.

Ahora lo otro es poder cambiar el color a cada cajoncito, en cualquier
momento.

Para hacer esto opté por WPF porque he visto que se pueden utilizar
estilos para
colocar bordes y colores a los cojones, de forma que sea mas estético
para los
usuarios.

He tratado de usar el grid, pero me parece que es lo mismo que obtengo
con un
grid de una winform.

Si alquien me pudiera dar algún consejo con depronto otros controles
diferentes,
le estaría altamente agradecido.

saludos,

león.





Respuesta Responder a este mensaje
#3 Leon
04/02/2009 - 16:10 | Informe spam
Javier, quería preguntarte otra cosa con respecto a lo siguiente:

resulta que tengo que refrescar cada habitación con un color(aún no lo he
implementado),
dependiendo del estado en que se encuentre (el estado es refrescado desde
otro lugar en otro pc).
En fin, el caso es que tengo una pantalla hecha en WPF, donde dibujo algunas
habitaciones y después de ésto trato de hacer el refresh asincrónicamente
(lo ví
en un ejemplo en internet), pero se me está freezando la pantalla.
Creo que estoy cerrando bien la conexión y liberando recursos.

En pocas palabras en esta aplicación solo se verá el estado de la
habitación,
no se permitirá el ingreso de información.

Acá te mando el código para que depronto si puedes colaborar.

De antemano te lo agradezco.

Perdona por la identación, pero se pierde, al pegarlo en el body del
mensaje.

sing System;

using System.Configuration;

using System.Data;

using System.Windows;

using System.Windows.Controls;

using System.Windows.Documents;

using System.Windows.Media;

using System.Windows.Shapes;

using System.Windows.Threading;

using System.Threading;

using MySql.Data.MySqlClient;



namespace AdmnistracionHabitaciones

{

/// <summary>

/// Interaction logic for Habitaciones.xaml

/// </summary>

public partial class Habitaciones : Window

{

public delegate void UpdateScreen();

DataSet dsDatos = new DataSet();


public Habitaciones() : base()

{

InitializeComponent();


InicioRefresh();

}

private void Window_Loaded(object sender, RoutedEventArgs e)

{

}

private void InicioRefresh()

{

canvas.Dispatcher.BeginInvoke(DispatcherPriority.Normal,

new UpdateScreen(MostrarHab));

}

#region MostrarHab

public void MostrarHab()

{

int iPiso = int.MinValue;

int iTop = int.MinValue;

int iLeft = int.MinValue;

bool bSemilla = false;

SolidColorBrush Brush = new SolidColorBrush(Colors.Cyan);

dsDatos = TraerDatos();

//Piso del primer registro, para iniciar la comparaci¢n

iPiso =
Convert.ToInt32(dsDatos.Tables[0].Rows[0]["intIdCama"].ToString().Substring(0,
1));

//Distancia del top y del left con respecto al Canvas, con q inician

iTop = 5;

iLeft = 5;

foreach (DataRow dr in dsDatos.Tables[0].Rows)

{

int idrPiso = Convert.ToInt32(dr["intIdCama"].ToString().Substring(0, 1));

if (bSemilla)

{

if (iPiso.Equals(idrPiso))

{

iLeft += 45;

}

else

{

iLeft = 5;

iTop += 45;

iPiso = idrPiso;

}

}

bSemilla = true;

Button btn = new Button();

btn.Name = "_" + dr["intIdCama"];

btn.Content = dr["intIdCama"].ToString() + dr["vcLetraCama"].ToString();

btn.Height = 42;

btn.Width = 43;

btn.IsEnabled = true;

btn.FontSize = 11;

btn.Background = Brushes.Aqua; //Brush;

btn.BorderBrush = Brushes.Black;

Canvas.SetLeft(btn, iLeft);

Canvas.SetTop(btn, iTop);

canvas.Children.Add(btn);

canvas.Dispatcher.BeginInvoke(System.Windows.Threading.DispatcherPriority.SystemIdle,

new UpdateScreen(this.MostrarHab));

//Thread.Sleep(4000);

}

}

#endregion



#region TraerDatos

private DataSet TraerDatos()

{

DataSet ds = new DataSet();

MySqlDataAdapter da = new MySqlDataAdapter();

MySqlConnection cnx = new
MySqlConnection(ConfigurationSettings.AppSettings["MySql"]);


da.SelectCommand = new MySqlCommand("SELECT camanovedad.intIdCama,
camas.vcletracama " +

" FROM camas INNER JOIN camanovedad ON " +

" (camas.intIdCama=camanovedad.intIdCama) " +

" ORDER BY camanovedad.intIdCama", cnx);

cnx.Open();

DataSet dsHab = new DataSet();

da.Fill(dsHab);



return dsHab;

if (da != null) da.Dispose();

cnx.Close();

}

#endregion

}

}




"Javier Lozano" wrote in message
news:%
Hola

WPF y Silverlight son - segun mi humilde opinion - el futuro en el
desarrollo de aplicaciones desktop e internet. Atendiendo tu consulta, un
grid en WPF es una contenedor que puede ser dividido en filas y columnas y
cada uno de estos puede alojar otros elementos de WPF (contenedores como
StackPanesl, Border,DockPanel, etc y conttroles, como buttons, textblocks,
etc). Si te refieres a un datagrid, tal y como lo entendemos en WinForms,
no existe en WPF, tampoco el datetimpicker. Sin embargo en la proxima
version de WPF, estos controles estaran disponibles, mientras tanto puedes
usar estos:

http://windowsclient.net/downloads/...76491.aspx

La herramienta recomendada para trabajar con WPF y Silverlight es
Microsoft Blend:
http://www.microsoft.com/expression...?key=blend

Un buen libro acerca de MS Blend 2
http://www.amazon.com/exec/obidos/A...echsystems

Y la pagina oficial de WPF donde encontrars una gran cantidad de recursos:
http://windowsclient.net/wpf/


Un excelente libro para sumergirte en el mundo de WPF es:
http://www.informit.com/store/product.aspx?isbn72329859

La arquitectura de una aplicacion WPF esta orientada a usar el patron
MVVM:
http://msdn.microsoft.com/en-us/mag...19663.aspx


Mucha suerte con tus proyectos

Javier Lozano
Lima-Peru



"Leon" wrote in message
news:
Saludos listeros,

Estoy desarrollando una aplicación en C# 2008

Al momento necesito poner bonita una pantalla que tendría lo siguiente:

quiero visualizar en la pantalla, una especie de emulación de un edificio
en donde
en las filas irían los cajoncitos y en donde cada cajoncito iría con un
número adentro
que indicaría el número del apto.
O sea cada piso sería la fila con sus aptos.

Ahora lo otro es poder cambiar el color a cada cajoncito, en cualquier
momento.

Para hacer esto opté por WPF porque he visto que se pueden utilizar
estilos para
colocar bordes y colores a los cojones, de forma que sea mas estético
para los
usuarios.

He tratado de usar el grid, pero me parece que es lo mismo que obtengo
con un
grid de una winform.

Si alquien me pudiera dar algún consejo con depronto otros controles
diferentes,
le estaría altamente agradecido.

saludos,

león.





email Siga el debate Respuesta Responder a este mensaje
Ads by Google
Help Hacer una preguntaRespuesta Tengo una respuesta
Search Busqueda sugerida