Avalonia Beta 1对WPF做了很多改进
看新聞很累?看技術(shù)新聞更累?試試下載InfoQ手機(jī)客戶(hù)端,每天上下班路上聽(tīng)新聞,有趣還有料!
\\\Avalonia將自己定義為“基于WPF(使用XAML、數(shù)據(jù)綁定以及l(fā)ookless控件等)的跨平臺(tái).NET UI框架。”在第一版公測(cè)之后,Avalonia已經(jīng)展現(xiàn)了它在舊版WPF XAML上的有趣改進(jìn)。
\\傳統(tǒng)XAML開(kāi)發(fā)的主要煩惱之一是需要?jiǎng)?chuàng)建ICommand對(duì)象。除非你需要CanExecute功能,否則ICommand本質(zhì)上只是一個(gè)普通方法的包裝程序。而且,這些對(duì)象的創(chuàng)建經(jīng)常會(huì)導(dǎo)致大量不必要的樣板代碼出現(xiàn)在視圖模型中。更糟糕的是,數(shù)據(jù)模型要么暴露這個(gè)以UI為中心的概念,要么被隱藏在視圖模型樣式代理的后面。
\\Avalonia提供了一個(gè)相當(dāng)明顯且簡(jiǎn)單的解決方案,用戶(hù)控件上的命令可以直接與方法做數(shù)據(jù)綁定。如果需要的話(huà),Avalonia仍然支持ICommands,但是大多數(shù)時(shí)候可以忽略ICommands。
\\Avalonia提供的另一個(gè)節(jié)省時(shí)間的方法是對(duì)Relative Sources類(lèi)的語(yǔ)法支持,使得語(yǔ)句不再那么冗長(zhǎng)。比如“{Binding Text, RelativeSource={RelativeSource Mode=FindAncestor, AncestorType={x:Type Border} AncestorLevel=1}}\" 你可以寫(xiě)成\"{Binding $parent.Text}”。
\\新預(yù)覽架構(gòu)
\\由于Avalonia是跨平臺(tái)的,同樣地,它也需要跨平臺(tái)的開(kāi)發(fā)工具。這種工具一旦成為新的預(yù)覽架構(gòu),那么,與.NET使用的語(yǔ)言服務(wù)器協(xié)議一樣,預(yù)覽器將作為一個(gè)單獨(dú)的進(jìn)程運(yùn)行。默認(rèn)情況下,Avalonia將提供一個(gè)已呈現(xiàn)的、通過(guò)TCP傳輸?shù)奈粓D的IDE。為了使用這個(gè)新協(xié)議,AvaloniaVS擴(kuò)展已經(jīng)做了相應(yīng)更新,同時(shí)它現(xiàn)在也希望其他IDE設(shè)計(jì)者盡快出現(xiàn)!
\\入門(mén)指南
\\如果你在Windows上使用Visual Studio,那么針對(duì)Visual Studio擴(kuò)展版本的Avalonia提供了必需的工具和項(xiàng)目模板。對(duì)于其他平臺(tái),你可以使用針對(duì).NET Core的Avalonia模板。
\\Avalonia是在MIT的許可下發(fā)布的,它正在尋找能夠?yàn)檫@個(gè)項(xiàng)目貢獻(xiàn)時(shí)間的開(kāi)發(fā)人員。
\\查看英文原文:Avalonia Beta 1 Brings Many Improvements over WPF
\\感謝冬雨對(duì)本文的審校。
\給InfoQ中文站投稿或者參與內(nèi)容翻譯工作,請(qǐng)郵件至editors@cn.infoq.com。也歡迎大家通過(guò)新浪微博(@InfoQ,@丁曉昀),微信(微信號(hào):InfoQChina)關(guān)注我們。
總結(jié)
以上是生活随笔為你收集整理的Avalonia Beta 1对WPF做了很多改进的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: 3.20学习内容,字符串与列表
- 下一篇: asp.net ajax控件工具集 Au