[英]Is it necessary to inherit System.Windows.Application base class for WPF Application?
[英]WPF - inherit from System.Windows.Application
我想擁有自己的繼承自System.Windows.Application的應用程序類。 問題是在Application.xaml文件中,我必須像這樣聲明應用程序:
<src:MyBaseApplication x:Class="MyApplication"
xmlns:src="clr-namespace:MyApplication;assembly=WpfTestApplication"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
StartupUri="FPrincipal.xaml">
<Application.Resources>
</Application.Resources>
</src:MyBaseApplication>
它在運行時運行良好,但是當我編輯項目屬性時,我收到Visual Studio的項目屬性編輯器的以下錯誤消息:
嘗試加載此項目的應用程序定義文件時發生錯誤。 無法解析文件'[...] \\ Application.xaml'。 請在XAML編輯器中編輯該文件以修復錯誤。 無法在應用程序定義文件中找到預期的根元素“Application”。
該項目是一個VB.NET項目。 有人有解決方法嗎? 我想保留application.xaml文件。
謝謝
我已經嘗試使用Visual Studio 2013,但我沒有遇到任何問題。 所以,它應該是VS 2008特定的。 您是否嘗試將應用程序類重組為單獨的類庫? 也許這是一個鎖定問題。
UPDATE
我在VB.NET VS2013中做的步驟是為了實現它:
Public Class CustomApplication Inherits System.Windows.Application End Class
<self:CustomApplication x:Class="Application" xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" xmlns:self="clr-namespace:WPFVBTest" StartupUri="MainWindow.xaml"> </self:CustomApplication>
Class Application Inherits CustomApplication End Class
Partial Class Application Inherits CustomApplication
這樣,應用程序可以毫無問題地構建和運行。 我希望它可以幫助您解決您的錯誤。
我知道這不會是一個受歡迎的答案,但是......為什么不升級到Visual Studio 2015? 免費!
見鬼,他們昨天宣布VS 2017; 也是免費的。
應該說<src:MyBaseApplication.Resources>?
應用程序通常指向一個Window並嘗試從xaml文件中獲取此信息; 但是你的xaml文件中有一個Visual Studio無法確定的引用..
xmlns:src="clr-namespace:MyApplication;assembly=WpfTestApplication"
所以VS無法解析你的xaml文件,從而給出了這個錯誤......
我的建議:覆蓋Window,或在Application上使用擴展,如下所示:
public static class ApplicationExtensions
{
public static string GetAwesomeName(this Application)
{
return "I am an awesome application";
}
}
像這樣使用它:
Application.Current.GetAwesomeName();
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.