2010-06-11 15 views
7

En lugar de excluirlo, por error, eliminé el código .cs detrás del archivo para un archivo Xaml. Ahora, no sé cómo agregar el código detrás.Suprimió accidentalmente el código de un archivo Xaml. ¿Cómo agrego el código de nuevo?

Esta ventana está vacía sin controles de IU en ella. "Ver código" está deshabilitado y no puedo ver los eventos (icono del rayo) en ninguna parte para este xaml.

Por favor ayuda.

+1

Deshacer, restaurar desde la papelera de reciclaje o desde el control de versiones no es una opción? – Joey

+0

Nada de eso ayudó en mi caso. Al final, tuve que eliminar el Xaml y crear uno desde cero. – FMFF

Respuesta

2

Por lo que sé sin Version Control no hay forma de revertir si el proyecto se ha guardado. Debería buscar poner su código en el Control de versiones.

En este punto, consideraría volver a crear tu archivo xaml, copiar tu código anterior, luego eliminar tus eventos en XAML y volver a crearlos, una vez que los vuelvas a crear reproducirá el código.

+0

Gracias jsmith. En este momento no tengo ningún evento en el Xaml. Además, este es un pequeño experimento para aprender WPF que estoy haciendo por mi cuenta, así que no usé el control de versión para esto. Estoy tratando de evitar tener que eliminar el XAML y agregar un nuevo Xaml desde cero. – FMFF

+2

Simplemente haga una copia del código XAML en el bloc de notas. Elimine el archivo XAML, luego vuelva a crear el archivo XAML, dándole el mismo nombre, esto volverá a crear el archivo .cs. Vuelva a copiar su código en el archivo, y tendrá que reescribir cualquiera de sus códigos si no hubiera control de versiones. – jsmith

+0

Gracias Jsmith. Intenté y resolvió mi problema. Tengo curiosidad, ¿no hay una forma de hacerlo no pirata? – FMFF

3

Creo que todo lo que tiene que hacer es crear un nuevo archivo de clase y el nombre exactamente como su xaml con la extensión cs ...

test.xaml

test.xaml.cs

obras en vb ....

14

Hay dos pasos necesarios y uno opcional:

  1. Crear un nuevo archivo .xaml.cs en el mismo directorio (haga clic con el botón derecho en proyecto -> Agregar -> Nuevo elemento -> Clase)
  2. Copie el código estándar de algunos otros .xaml.cs en su proyecto, cambiando el nombre de la clase apropiadamente (ej. copie las directivas "using", declaración de clase y constructor incluyendo la llamada InitializeComponent).
  3. (opcional) Modificar el archivo .csproj añadir un elemento <DependentUpon> por debajo de su elemento <Compile> para el archivo .xaml.cs de modo que aparecerá "dentro" del archivo .xaml no simplemente por debajo de ella. Si está actualizando el proyecto para ser editado con Blend (v4), este tercer paso es obligatorio, no opcional, para usar el inspector para agregar eventos a los controles.

Para editar fácilmente el archivo .csproj:

  1. Haga clic derecho en el proyecto y seleccione "Descargar proyecto"
  2. Haga clic derecho en el nodo del proyecto de nuevo y seleccione "Editar [Proyecto] .csproj "
  3. Editar el XML, a continuación, cierre el archivo
  4. Haga clic derecho en el nodo del proyecto de nuevo y seleccione 'proyecto Reload'

Si está usando VB.NET, todo igual, simplemente reemplace "cs" por "vb".

+0

+1 El tercer paso opcional es el que estaba buscando – dumbledad

2

Sé que llego tarde a la fiesta ... pero esto es lo que funcionó para mí. SI está en VisualStudio puede: 1. Excluir todos los archivos que desea vincular desde el proyecto 2. Incluya solo el archivo .xaml. Para mí eso incluía el archivo .xaml.cs así como el código detrás.

Nota: Asegúrese de que la relación de compilación sea correcta en el archivo .csproj.Se debe tener este aspecto:

<ItemGroup> 
    <Compile Include="App.xaml.cs"> 
    <DependentUpon>App.xaml</DependentUpon> 
    </Compile>... 

Para ver que el texto tendrá que descargar el proyecto y luego editar el archivo .csproj dentro de cualquier editor de texto. VS 2015 también le permite editar ese archivo si hace clic con el botón derecho en el archivo .csproj descargado.

Espero que esto ayude a alguien.

Cuestiones relacionadas