Business
Jobs
  • About Us
  • Solutions
    • Job Postings
      Post your job and receive qualified candidates in 48h.
    • Candidate Assessments
      500+ technical and psychological tests, plus anti-fraud.
    • Headhunting
      Tailor-made executive search from start to finish.
    • Payroll + EOR
      Payroll dispersal and EOR across 15+ LATAM countries.
  • Pricing
  • Jobs

0

369
Views
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 answers
Answer question

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 Report

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 Report
Answer question
Find remote jobs

Discover the new way to find a job!

Top jobs
Top job categories
Business
Post vacancy Pricing Sales
Legal
Terms and conditions Privacy policy
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Show me some job opportunities
There's an error!