He hecho desarrollo .Net por un tiempo, pero soy nuevo en la tecnología WPF. ¿Cuál es el supuesto propósito de App.xaml? Además, ¿qué tipo de código xaml hacer que suele poner en él? Parece que para aplicaciones simples podría ignorarse y dejarse intacto. ¿Es esto cierto?WPF: ¿Cuál es el propósito de App.xaml?
Respuesta
Es cierto. App.Xaml es una especie de punto de partida central. PUEDES usarlo, o PUEDES iniciar tu primera ventana (está definida en la aplicación.xaml) manualmente. Hay algunos eventos de por vida allí centralls (como el inicio de la aplicación).
Almacenar recursos que se utilizan en toda la aplicación.
La aplicación es la raíz del árbol lógico.
Es como Global.asax si vienes de un fondo ASP.NET. También puede usarlo para compartir recursos a través de su aplicación. Resulta bastante útil para compartir recursos.
Para aplicaciones simples, es cierto, se puede ignorar. El objetivo principal de App.xaml es mantener los recursos (estilo, lápices, pinceles, etc.) que le gustaría tener disponibles a través de todas las ventanas de su aplicación.
Esta respuesta es mucho mejor que la aceptada si me preguntas. Algunos ejemplos más, serían incluso mejores. +1 :) –
App.xaml
es la parte declarativa de su código (normalmente generada por Visual Studio) que se extiende System.Windows.Application
. Por ejemplo, Expression Blend puede usar App.xaml
para compartir un diccionario de recursos o un conjunto de datos en tiempo de diseño con toda su aplicación. Y, debido a que estamos usando productos de Microsoft, lo que Expression Blend puede hacer de forma automática, podemos hacerlo a mano en Visual Studio.
Ahora la tangente: Para mí, para preguntar sobre el propósito de App.xaml
es preguntar acerca de la finalidad para la System.Windows.Application
. Siéntete libre de acusarme de cambiar la pregunta original (deja que siga lo digital brutalmente).
No puede simplemente abrir un System.Windows.Controls.Window
en cualquier Asamblea que desee ... Chris Sells probablemente me diga esto en his book. Empecé a entender el propósito de System.Windows.Application
al usar MEF y MVVM Light para mostrar ventanas WPF en DLLs
(no EXEs
). Tengo errores como este:
The type 'System.Windows.Markup.IComponentConnector' is defined in an assembly that is not referenced.
o
The type 'System.Windows.Markup.IQueryAmbient' is defined in an assembly that is not referenced.
El error anterior es simplemente decir que estoy tratando de abrir una ventana de WPF en el interior de un DLL y no una EXE
. Entonces, hay un error:
The component 'Songhay.Wpf.WordWalkingStick.Views.ClientView' does not have a resource identified by the URI '/Songhay.Wpf.WordWalkingStick;component/views/clientview.xaml'.
Esto se reduce a la ausencia de una instalación que asocia WPF XAML ventana con el “código” WPF (un ejemplo). Esta función está asociada con WPF EXEs
y no con WPF DLLs
. Visual Studio autogenera una clase WPF EXE llamada App.g.cs
(en su carpeta \obj\Debug
) con esta llamada: System.Windows.Application.LoadComponent(this, resourceLocater)
donde resourceLocater
es una variable mal nombrada que contiene un System.Uri
apuntando al XAML como ClientView.xaml
mencionado anteriormente.
Estoy seguro de que Chris Sells tiene todo un capítulo escrito sobre cómo WPF depende de System.Windows.Application
para toda su vida. Es mi pérdida (bastante literalmente de tiempo) por no haber leído sobre eso.
he demostrado a mí mismo un poco de algo con esta unidad de prueba:
[STAThread]
[TestMethod]
public void ShouldOpenWindow()
{
Application app = new Application();
app.Run(new Window());
}
El no poder envolver una nueva ventana en el método System.Windows.Application.Run()
generará un error de la tierra de COM hablando, “¿Por qué se tira la alfombra de debajo de mí?”
¡Ahora, estoy realmente confundido! – Vidar
Esa fue una gran explicación. –
No sé lo que hace en su proyecto de MEF, pero en mi empresa actual, actualmente estoy desarrollando un Shell para hacer exactamente ESTO. Cargue módulos de ensamblajes más o menos "desconocidos" y ejecute Windows, etc. Si está interesado, puedo compartir mi conocimiento sobre los módulos visuales de MEF – Venson
App.xaml is a major part of wpf application.
It contains major four attributes
1.X:Class->used to connect you xaml and code-behind file(xaml.cs).
2.xmlns->To resolve wpf elements like canvas,stack panel(default one).
3.xmlns:x->To resolve XAML language definition.
4. StartupUri->To give start window when application is launching.
upvoted porque abre el secreto de 'xmlns' &' xmlns: x' para mí. –
++++++++
App.xaml is the declarative starting point of your application. Visual Studio will automatically create it for you when you start a new WPF application, including a Code-behind file called App.xaml.cs. They work much like for a Window, where the two files are partial classes, working together to allow you to work in both markup (XAML) and Code-behind.
App.xaml.cs extends the Application class, which is a central class in a WPF Windows application. .NET will go to this class for starting instructions and then start the desired Window or Page from there. This is also the place to subscribe to important application events, like application start, unhandled exceptions and so on.
One of the most commonly used features of the App.xaml file is to define global resources that may be used and accessed from all over an application, for instance global styles.
+++++++++ Fuente: http://www.wpf-tutorial.com/wpf-application/working-with-app-xaml/
- 1. ¿Cuál es el propósito de Function.const?
- 2. ¿Cuál es el propósito de Mage_Core_Block_Template_Facade
- 3. ¿Cuál es el propósito de Anorm's Pk?
- 4. ¿Cuál es el propósito de :: en C#?
- 5. ¿cuál es el propósito de glClear (GL_DEPTH_BUFFER_BIT)
- 6. ¿Cuál es el propósito de 'var'?
- 7. ¿Cuál es el propósito de layout.xml?
- 8. ¿Cuál es el propósito de Active Records?
- 9. ¿Cuál es el propósito de git-mv?
- 10. ¿Cuál es el propósito de __cxa_pure_virtual?
- 11. ¿Cuál es el propósito de 'Class.forName ("MY_JDBC_DRIVER")'?
- 12. ¿Cuál es el propósito de precompiledApp.config?
- 13. ¿Cuál es el propósito de `qt_noop`
- 14. ¿Cuál es el propósito de requestWindowFeature()?
- 15. ¿Cuál es el propósito de Rake?
- 16. ¿Cuál es el propósito de JNDI
- 17. ¿Cuál es el propósito de IntentSender?
- 18. ¿Cuál es el propósito de String.IsInterned?
- 19. ¿Cuál es el propósito de utilizar NSOrderedSame?
- 20. ¿Cuál es el propósito de 'n = n'?
- 21. ¿Cuál es el propósito de Membership.ValidateUser()
- 22. ¿Cuál es el propósito de Ext.require
- 23. ¿Cuál es el propósito de config.assets.precompile?
- 24. ¿Cuál es el propósito de Array.GetLowerBound (int)?
- 25. ¿cuál es el propósito de Thread.holdsLock (lock)?
- 26. Cómo configurar el estilo de ventana WPF predeterminado en app.xaml?
- 27. ¿Cuál es el propósito del control VisitorIdentification?
- 28. ¿Cuál es el propósito del transformador IdentityT?
- 29. ¿Cuál es el propósito del método Thread.SpinWait?
- 30. php umask (0) ¿cuál es el propósito
Entonces ... ¿para qué se usa entonces? Un ejemplo sería bueno. –
Entonces, en términos de ASP.NET, ¿está diciendo que es algo así como una página maestra para sus formularios de Windows (que también puede contener funciones utilizadas globalmente)? – Jacob