2010-04-20 10 views
104

Antes de ir más lejos que voy a mencionar He intentado soluciones en lo siguiente:de ajuste de la aplicación de WPF (VS 08)

How do I set the icon for my application in visual studio 2008?

Set application icon from resources in VS 05

Estoy intentando configurar un icono para mi solicitud.

AFAIK, necesito potencialmente 3 imágenes?

imagen
  • 1 es la imagen real en el explorador cuando se hace clic en el archivo .exe (miniatura de la exe)
  • 1 imagen (pequeña) en la esquina superior izquierda (16 x 16? No del todo seguro)
  • 1 imagen en el menú de inicio dock, a la izquierda de la aplicación (tal vez 32x32? Otra vez no estoy seguro)

Así que eso está bien.

Ahora he seleccionado un icono. ¿Cómo lo uso en una de las situaciones anteriores?

He intentado agregarlo en recursos, nada parece suceder. Después de esa primera solución SO,

"Primero vaya a la Vista de recursos (desde el menú: Ver -> Otra ventana -> Vista de recursos). Luego, en la Vista de recursos navegue a través de los recursos, si corresponde. recurso de tipo de icono, agregado por Visual Studio, luego ábralo y edítelo. De lo contrario, haga clic derecho y seleccione Agregar recurso, y luego agregue un nuevo ícono ".

La vista de recursos está vacía y no puedo hacer clic con el botón derecho en esta vista.

Si hago clic derecho en la solución> propiedades> recursos> puedo agregar la imagen del icono, pero no se muestra en ninguna de las ubicaciones mencionadas anteriormente. (o en cualquier lugar que pueda ver)

1) ¿Cómo configuro el icono de la aplicación para una aplicación WPF?

+0

En realidad esto es Win 7 Talk; XP, solo tenemos dos, ¿no? el 16 x 16 y la miniatura grande para el exe (tamaño no seguro) – baron

+0

Para cualquier persona interesada, configuré un ícono, la imagen era de 64 x 64 y todo lo demás (los tamaños más pequeños) se hicieron automáticamente al escalar la imagen original que proporcioné . – baron

+0

Echa un vistazo a esta pregunta en SuperUser http://superuser.com/questions/142731/which-dlls-included-in-windows-contain-icons para obtener iconos integrados de Windows en tu aplicación fácilmente. –

Respuesta

136

Suponiendo que usa VS Express y C#. El ícono se establece en la página de propiedades del proyecto. Para abrirlo, haga clic derecho en el nombre del proyecto en el explorador de soluciones. en la página que se abre, hay una pestaña Aplicación, en esta pestaña puede establecer el ícono.

+2

Gracias por su respuesta ... todo lo demás que he encontrado explica el desorden en los recursos, pero siguiendo sus recursos de solución se dejó completamente solo y simplemente configúrelo en la pestaña Aplicación. Cheers – baron

+59

Sí. Esto funcionó para mí. Sin embargo, parece que cuando se ejecuta la aplicación desde el depurador VS (es decir, presionando F5), el icono 'genérico' aún se muestra. Sin embargo, ejecutar sin el depurador (es decir, ctrl + f5, o desde el escritorio, etc.) muestra el icono personalizado, como se esperaba. – Tom

+6

Eso es porque, cuando el depurador ejecuta su código, utiliza la versión vshost.exe de su compilación (para ayudar a la depuración) que utiliza el icono predeterminado de la aplicación y NO el ícono establecido en la pestaña de aplicaciones, como esto está establecido para yourapplication.exe – VisualBean

82

La respuesta de @ 742 funciona bastante bien, pero como se describe en los comentarios cuando se ejecuta desde el depurador VS, el ícono genérico aún se muestra.

Si usted quiere tener su icono, incluso cuando se está presionando F5, se puede añadir en la ventana principal:

<Window x:Class="myClass" 
    xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" 
    xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" 
    Icon="./Resources/Icon/myIcon.png"> 

donde se indique la ruta a su icono (el icono puede ser *.png, *.ico .)

(Tenga en cuenta que aún deberá configurar el icono de la aplicación o que seguirá siendo el predeterminado en el Explorador).

+6

La configuración de ambos es buena porque parece ser necesario para que el icono aparezca tanto en la ventana como en el archivo EXE. – Vimes

+0

Esta respuesta funciona para mí. –

+0

Solo asegúrese de configurar el icono en una acción de compilación de "Recurso" como @AdamDylla dijo: stackoverflow.com/a/39897641/1703887 – csrowell

2

Después de obtener un XamlParseException con el mensaje: 'Proporcionar valor en' System.Windows.Baml2006.TypeConverterMarkupExtension ' con las soluciones proporcionadas, estableciendo el ícono programáticamente trabajado para mí. Esto es cómo lo hice:

  1. Ponga el icono de una carpeta < icon_path > en el directorio del proyecto
  2. imitar la carpeta de la ruta < icon_path > en la solución
  3. añadir un nuevo elemento (su ícono) en la carpeta de la solución que creó
  4. Agregue el siguiente código en el código de la ventana de WPF detrás de:

Icono = new BitmapImage (nuevo Uri ("< icon_path >", UriKind.Relative));

Por favor, infórmenme si tiene dificultades para implementar esta solución, así puedo ayudar.

+0

La solución más fácil para este mensaje de error es establecer el icono en una acción de compilación de "Recurso "como @AdamDylla dijo: https://stackoverflow.com/a/39897641/1703887 – csrowell

0

Puede probar esto también:

private void Page_Loaded_1(object sender, RoutedEventArgs e) 
    { 
     Uri iconUri = new Uri(@"C:\Apps\R&D\WPFNavigation\WPFNavigation\Images\airport.ico", UriKind.RelativeOrAbsolute); 
     (this.Parent as Window).Icon = BitmapFrame.Create(iconUri); 
    } 
1

Nota: (sustituir file.ico con el icono de nombre de archivo real)

  1. Agregar el icono al proyecto de construcción con la acción de "Recursos ".
  2. En las Propiedades del proyecto, establezca el icono de aplicación a file.ico
  3. En el conjunto principal Ventana XAML: Icon=".\file.ico" en la ventana
Cuestiones relacionadas