前言
寫(xiě)之前先講講故事赡麦。之前一直從事.NET平臺(tái)下的C/S開(kāi)發(fā)盼玄,項(xiàng)目經(jīng)驗(yàn)均來(lái)自Winform届搁,一直仰慕WPF缘薛,但是WPF一直火不起來(lái),甚至感覺(jué)都要跌入低谷了卡睦,但是自從Win10下推出了UWP應(yīng)用宴胧,感覺(jué)WPF又在走上坡路了,因?yàn)閁WP中也用了WPF類似的XAML表锻,并繼承了WPF的一些特性恕齐。做為一個(gè).NET(cai)開(kāi)發(fā)(niao)者同是時(shí)也一直關(guān)注了微軟的發(fā)展的我,業(yè)余也了解并學(xué)習(xí)一些和.NET平臺(tái)下相關(guān)的技術(shù)瞬逊,WCF显歧,WPF,ASP.NET MVC确镊,UWP....最近也辭職去了一家創(chuàng)業(yè)型公司做web開(kāi)發(fā)士骤,趁著5.1繼續(xù)學(xué)學(xué)UWP,有什么不正確或不妥的麻煩指正下蕾域。
前面的UWP漢堡菜單之MVVM模式實(shí)現(xiàn)也簡(jiǎn)單的應(yīng)用了一下數(shù)據(jù)綁定拷肌,但是數(shù)據(jù)綁定并不是對(duì)所有的事件都可以用綁定例如下面演示的ListView的SelectionChanged事件就不能,按照慣例上代碼旨巷。
XAML
<ListView Grid.Row="1" x:Name="mainListView" ItemsSource="{Binding MenuItems}" ItemTemplate="{StaticResource MenuItemDataTemplate}" SelectionChanged="{x:Bind vm.mainListView_SelectionChanged}" />
ViewModel
public async void mainListView_SelectionChanged(object sender, SelectionChangedEventArgs e)
{
await new Windows.UI.Popups.MessageDialog("通過(guò)x:Bind綁定實(shí)現(xiàn)", "提示").ShowAsync();
}
前面指定DataContext都是在構(gòu)造函數(shù)中指定的巨缘,今天重新看了下MvvmLight后發(fā)現(xiàn)也可以通過(guò)在XAML中指定。
XAML指定DataContext
<Page.DataContext>
<vm:MainViewModel />
</Page.DataContext>
vm是前面XAML導(dǎo)入的名空間別名
參考地址:
http://www.cnblogs.com/durow/p/4893195.html
http://www.cnblogs.com/gaoshang212/p/4534138.html
END