Empresas
Empleos
  • Sobre nosotros
  • Soluciones
    • Publicación de vacantes
      Publica tu vacante y recibe candidatos calificados en 48h.
    • Evaluación de candidatos
      500+ pruebas técnicas y psicológicas, más anti-fraude.
    • Headhunting
      Búsqueda ejecutiva a la medida de principio a fin.
    • Nómina + EOR
      Dispersión de nómina y EOR en más de 15 países de LATAM.
  • Precios
  • Empleos

0

367
Vistas
Como soy ciego y no se puede acceder a Visual Studio, ¿puedo crear aplicaciones C# WPF solo con código sin formato?

Estoy totalmente ciego, uso el lector de pantalla NVDA para operar mi sistema y estoy tratando de crear una aplicación de escritorio de Windows. Visual Studio no es compatible con lectores de pantalla, al menos no con la parte del diseñador de formularios. VS Code es bastante accesible, aunque el diseñador de protools de powershell no lo es.

Cada vez que veo una pregunta sobre cómo escribir GUI en WPF con código puro, encuentro mucho "¿por qué en el nombre de Dios querrías hacer eso? ¡Usa VS!" respuestas Bueno, aquí está la razón, el diseñador de formularios VS está fuera del alcance de los programadores ciegos, por lo que el enfoque menos práctico tendrá que funcionar.

Entonces, ¿se puede hacer? ¿Sugeriría algún recurso o enfoque para esto?

over 4 years ago · Santiago Trujillo
2 Respuestas
Responde la pregunta

0

Si. Puedes hacer WPF solo con código.

Aquí hay un ejemplo simple de http://www.java2s.com/Tutorial/CSharp/0470__Windows-Presentation-Foundation/CodeOnlyWPFApplicationSample.htm

 using System; using System.Windows; using System.Windows.Controls; public class App : Application { protected override void OnStartup(StartupEventArgs e) { base.OnStartup(e); MainWindow window = new MainWindow(); window.Show(); } [STAThread] public static void Main() { App app = new App(); app.Run(); } } public class MainWindow : Window { protected override void OnInitialized(EventArgs e) { base.OnInitialized(e); Button closeButton = new Button(); closeButton.Content = "Close"; this.Content = closeButton; closeButton.Click += delegate { this.Close(); }; } }

Además, podría ser más fácil usar WinForms ya que usa C# como código subyacente y menos XML.

over 4 years ago · Santiago Trujillo Denunciar

0

Voy a intentar construir a partir del otro ejemplo para obtener un código compilable. Para que WPF funcione, necesitará un proyecto que se compile con compatibilidad con WPF.

La forma más sencilla es crear un .csproj nosotros mismos y usar la solución de solo código publicada anteriormente.

Entonces, comience con un archivo App.csproj mínimo así:

 <Project Sdk="Microsoft.NET.Sdk"> <PropertyGroup> <OutputType>WinExe</OutputType> <TargetFramework>net5.0-windows</TargetFramework> <UseWPF>true</UseWPF> </PropertyGroup> </Project>

Luego, la aplicación y el código de la ventana en App.cs como antes. Le agregué un par de controles, ya que necesitará un contenedor de todos modos (utilicé StackPanel ) si desea comenzar a agregar más cosas más adelante.

 using System; using System.Windows; using System.Windows.Controls; public class App : Application { protected override void OnStartup(StartupEventArgs e) { base.OnStartup(e); new MainWindow().Show(); } [STAThread] public static void Main() => new App().Run(); } public class MainWindow : Window { protected override void OnInitialized(EventArgs e) { base.OnInitialized(e); var panel = new StackPanel(); this.Content = panel; var label = new Label { Content = "Click me:" }; panel.Children.Add(label); var closeButton = new Button { Content = "Close", Height = 100 }; closeButton.Click += (sender, args) => this.Close(); panel.Children.Add(closeButton); (this.Width, this.Height) = (200, 200); } }

Luego compila todo el proyecto utilizando dotnet build . Y puede ejecutarlo con dotnet run o invocando el exe directamente.

Como alternativa, si desea explorar un proyecto WPF con código .xaml y .xaml.cs independiente, puede crear su proyecto mediante dotnet new wpf -o MyProjectName . Esto producirá un proyecto, una aplicación basada en xaml y un formulario basado en xaml.

over 4 years ago · Santiago Trujillo Denunciar
Responde la pregunta
Encuentra empleos remotos

¡Descubre la nueva forma de encontrar empleo!

Top de empleos
Top categorías de empleo
Empresas
Publicar vacante Precios Comercial
Legal
Términos y condiciones Política de privacidad
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomiéndame algunas ofertas
Necesito ayuda