C sharp - Acerca de WPF y C#

 
Vista:
Imágen de perfil de Manuel F.
Val: 63
Ha disminuido 1 puesto en C sharp (en relación al último mes)
Gráfica de C sharp

Acerca de WPF y C#

Publicado por Manuel F. (33 intervenciones) el 07/06/2018 21:16:29
Muy buenas tardes a todos !!!

No se si este es el lugar correcto para preguntar acerca de este tema...
El asunto es, si alguien que pueda darme una mano con el tema del WPF "combinado" con C#. Si alguien no lo sabe (por lo menos yo hasta hace poco, ni put... idea de que era WPF, que pena), WPF (Windows Presentation Foundation) es programación en código XAML (XML pero en versión aplicada por MS para Visual Studio -más o menos así va el rollo), un lenguaje con el cual, se puede "manipular" de manera más profunda, los controles en un form (del tipo WPF por supuesto), trabaja en conjunto con C#, VB, u otros compatibles, ya que estos lenguajes se encargan de la ejecución del trabajo que realizarán los controles asociados.

Necesito ayuda en, como distribuir los controles correctamente, uso del "Grid", "Border", "StackPanel", que vienen a ser contenedores de otros controles como "Buttons", "Labels", "TextBoxs", entre otros...

Como personalizarlos, crear plantillas para la personalización, etc. He visto una buena cantidad de tutoriales, videos, desde los de Microsoft a Youtube y más... Todos con algo en común: El o los que dan los tutoriales, piensan que quien hace uso de ellos (como yo), es "parapsicólogo", "medium" o cualquier otra vaina parecida... Por qué? porque piensan que ya uno sabe todo lo que dan (en algunos casos), o te arrojan el conocimiento "por la mitad", entonces, queda uno "más perdido que Adán en el día de las madres" !!! Y ahí es entonces que uno tiene que convertirse en una especie de "arqueólogo de la web" tratando de desenterrar fósiles o tesoros por toda la red, y entonces es cuando "se vuelve más divertido", porque uno se pierde más que como estaba al principio...

Así, que de antemano, agradezco cualquier ayuda u orientación en este tema ( si es por aquí que lo puedo tratar)...!!!


Saludos !!!



Manuel F. Borrego Sterling
Puerto La Cruz, Edo. Anzoátegui.
Venezuela
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
sin imagen de perfil
Val: 373
Plata
Ha aumentado su posición en 2 puestos en C sharp (en relación al último mes)
Gráfica de C sharp

Acerca de WPF y C#

Publicado por Agustin (171 intervenciones) el 07/06/2018 21:29:54
Cual es tu pregunta concretamente? Sobre layout?


Sé más específico en preguntar y seguramente te puedo ayudar mejor.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
1
Comentar
Imágen de perfil de Manuel F.
Val: 63
Ha disminuido 1 puesto en C sharp (en relación al último mes)
Gráfica de C sharp

Acerca de WPF y C#

Publicado por Manuel F. (33 intervenciones) el 07/06/2018 22:27:23
Saludos y muchas gracias por responder tan rápido...!!!

Ok Agustín, tienes razón, no me expresé bien... Entre otras dudas, la principal: es como colocar por ejemplo los botones (la distribución de ellos...
Estoy diseñando una calculadora básica con fines enteramente prácticos (por lo de acomodar los controles en el form), cómo debo acomodar los botones? dentro de un Grid directamente? o dentro de un StackPanel?
Hice la prueba con StackPanels. He aquí el código:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
<Window x:Class="CreacionDeUnTeclado_v2._0.MainWindow"
        xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
        xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
        xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
        xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
	mc:Ignorable="d"
        Title="Teclado 2.0 - Test:" Height="550" Width="300">
	<Border Background="#303030"
            BorderBrush="#202020"
            BorderThickness="2" Padding="5">
		<Grid Background="#303030" ShowGridLines="False">
			<StackPanel x:Name="Display" Background="Green"
				    VerticalAlignment="Top" Height="100">
				<!--  -->
			</StackPanel>
			<StackPanel x:Name="ColumnaTeclado1" Background="Yellow"
				    HorizontalAlignment="Left" VerticalAlignment="Bottom"
				    Width="70" Height="300">
				<Button Name="BotonA" Width="50" Height="30" Margin="0,265">
					Test A
				</Button>
				<Button Name="BotonB" Width="50" Height="30" Margin="0,230,0,0">
					Test B
				</Button>
			</StackPanel>
			<StackPanel x:Name="ColumnaTeclado2" Background="Blue"
				    HorizontalAlignment="Left" VerticalAlignment="Bottom"
				    Width="70" Height="300" Margin="70,0">
				<!--  -->
			</StackPanel>
			<StackPanel x:Name="ColumnaTeclado3" Background="Red"
				    HorizontalAlignment="Left" VerticalAlignment="Bottom"
				    Width="70" Height="300" Margin="140,0,0,0">
				<Button Name="Boton1" Width="50" Height="30" Margin="0,265">
					Test 1
				</Button>
				<Button Name="Boton2" Width="50" Height="30" Margin="0,230,0,0">
					Test 2
				</Button>
				<!--  -->
			</StackPanel>
		</Grid>
	</Border>
</Window>

El primer StackPanel ("Display"), es para colocar un Label, donde se mostrarán los números.
Los Tres StacksPanel restantes (en forma de "columna" según el código) contendrán los botones para el teclado.
Les puse un "Background" para poder ubicas los SP visualmente. Les empecé a colocar botones (1er y 2do SP), pero solo visualizo los primeros botones de cada SP y los segundos botones, ni idea de que pasó con ellos !!!
Disculpen mi ignorancia, pero ahí es donde he empezado a atorarme, no se si voy "en rumbo" o sigo perdido,...

Yamil, estoy comenzando con el 1er tutorial (en inglés) pero ahí vamos, gracias por las referencias a ellos !!!


Saludos !!!


Manuel F. Borrego Sterling
Puerto La Cruz, Edo. Anzoátegui.
Venezuela
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de Manuel F.
Val: 63
Ha disminuido 1 puesto en C sharp (en relación al último mes)
Gráfica de C sharp

Acerca de WPF y C#

Publicado por Manuel F. (33 intervenciones) el 17/06/2018 21:38:35
Muy buenas tardes !!!

Aquí me surgió un "pequeño inconveniente visual" (bueno, la verdad, lo tengo desde que comencé con wpf)...

WPF-form-1
WPF-form-2

Si se puede apreciar en las 2 imágenes, es justamente como "eliminar" ese sub panel negro, que sale en la parte superior de la ventana, cuando se ejecuta la app. [Estoy utilizando VS 2017]...

Agradecido por la ayuda de antemano,.. Yamil, excelente la primera opción que me diste para los enlaces de tutorial wpf... muchas gracias !!!


Manuel F. Borrego S.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
sin imagen de perfil
Val: 373
Plata
Ha aumentado su posición en 2 puestos en C sharp (en relación al último mes)
Gráfica de C sharp

Acerca de WPF y C#

Publicado por Agustin (171 intervenciones) el 18/06/2018 21:01:35
Eso es una tool de Visual Studio para debuggear, si corres la app desde el .exe no lo vas a ver, tampoco si usas start without debugging.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
2
Comentar
Imágen de perfil de Manuel F.
Val: 63
Ha disminuido 1 puesto en C sharp (en relación al último mes)
Gráfica de C sharp

Acerca de WPF y C#

Publicado por Manuel F. (33 intervenciones) el 18/06/2018 22:32:35
Saludos !!!

Excelente Agustín !
Eso era, y no me había dado ni la más mínima cuenta...!!! Muy agradecido !!!



Manuel F. Borrego Sterling
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de Manuel F.
Val: 63
Ha disminuido 1 puesto en C sharp (en relación al último mes)
Gráfica de C sharp

Acerca de WPF y C#

Publicado por Manuel F. (33 intervenciones) el 19/07/2018 22:20:39
Muy buenas tardes...!!!

He ido avanzando algo en este tema del "WPF", y se me presenta una duda que no he podido resolver...
Estoy diseñando una 'Tabla Periódica de Elementos Químicos'...

Tabla-Periodica

Cada cuadro es un Botón. Lo que pretendo es, al hacer 'Click' en cualquiera de los botones, un control Border (el cual está oculto), se vuelve visible, hasta ahí todo bien... A continuación desearía, que cuando pasara el cursor (over) sobre cualquier otro botón que no hubiese clickeado, el Border se ocultara, claro, haciendo esta acción desde los "Triggers" o lo que se requiera pero desde el XAML (esto es porque se trata de 118 botones, y trato de evitar llamar a 118 eventos "MouseOver"). Es eso posible? si lo es agradecería cualquier ayuda.

Gracias de antemano...!!!


Manuel F. Borrego Sterling
Puerto La Cruz, Edo. Anzoátegui. Venezuela.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
sin imagen de perfil
Val: 373
Plata
Ha aumentado su posición en 2 puestos en C sharp (en relación al último mes)
Gráfica de C sharp

Acerca de WPF y C#

Publicado por Agustin (171 intervenciones) el 19/07/2018 22:30:42
La forma facil es usar un RadioButton, en lugar de un Button.

De esa forma solo 1 esta activo a la vez.

Alternativamente se puede modelar esta GUI completa usando ListBox, que tambien tiene el comportamiento de seleccionar 1 elemento a la vez.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
sin imagen de perfil
Val: 158
Bronce
Ha disminuido 1 puesto en C sharp (en relación al último mes)
Gráfica de C sharp

Acerca de WPF y C#

Publicado por Yamil Bracho (1164 intervenciones) el 19/07/2018 22:58:52
Puedes tener un solo evento pero necesitas "amarralo" al click de los botones

b1.Click += new EventHandler(button_Click);
b2.Click += new EventHandler(button_Click);
...
bn.Click += new EventHandler(button_Click);


void button_Click(object sender, EventArgs e)
{
Button btn = (Button)sender;
....


}
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar