2012-02-21 46 views
1

這是WPF的v.basic問題。WPF是純粹區分大小寫的嗎?寬度字段中的「自動」值是否區分大小寫?

乍一看,WPF似乎區分大小寫。但是,如果這是真的,那麼怎麼來寬=「自動」都可以正常工作?另一方面,如果不區分大小寫,那麼爲什麼控件不接受'寬度'作爲它的屬性?您只能使用「寬度」(大寫W)來定義控件的寬度。

Consolidated answer link

+0

是的,它會,它是不區分大小寫的,但爲什麼不嘗試? – mtijn 2012-02-21 12:43:54

+0

我以爲有人會提出更多的燈光。我只是試過它的工作,所以想知道它是真的還是在我的代碼中做的更多。 – Rohit 2012-02-21 12:45:57

回答

5

一半是真的。

從官方XAML Overview page

XAML是一般來說區分大小寫。爲了解析支持類型,WPF XAML按照CLR區分大小寫的相同規則區分大小寫。對象元素,屬性元素和屬性名稱必須全部通過使用敏感外殼進行指定時,通過名稱與程序集中的基礎類型或類型的成員進行比較。 XAML語言關鍵字和原語也區分大小寫。值並不總是區分大小寫。大小寫的區分大小取決於與使用該值的屬性或屬性值類型關聯的類型轉換器行爲。例如,採用布爾類型的屬性可以採用true或True作爲等價值,但僅僅是因爲本地WPF XAML解析器將字符串轉換爲布爾型的類型轉換已將這些轉換爲等價形式。

一般XAML是大小寫敏感,但屬性值不是一直以來依賴於財產轉換器,因此在大多數情況下,它的工作,如其中Auto相同auto,雖然在一些特殊情況下的財產轉換器可能無法與不區分大小寫來處理它們

注:我們正在談論財產values這裏,而不是財產names

+0

這是我一直在尋找的......感謝Kypros。 – Rohit 2012-02-21 14:35:22

0

FrameworkElement.Width(重點煤礦)的文檔:

除了可接受雙精度值,該屬性也可以是Double.NaN。這是您如何指定自動調整大小的行爲。 在XAML中,將值設置爲字符串「自動」(不區分大小寫)以啓用自動調整大小行爲。

所以,Auto(不區分大小寫)僅僅是一個XAML簡寫屬性設置爲Double.NaN