已上架,下載地址:https://www.microsoft.com/store/apps/9nblggh6cc32
特點是:繁體豎排,隱藏/顯示標點符號。
截幾張圖來瞅瞅。
1.主界面
這張圖使用的是GridView實現,其中ItemTemplate如下:
<GridView.ItemTemplate>
<DataTemplate>
<Canvas Width="96" Height="96" >
<Image Source="Assets/images/book.png"/>
<Border BorderBrush="White" BorderThickness="1,1,1,1" Canvas.Left="18" Canvas.Top="8">
<Border BorderBrush="Black" BorderThickness="1,1,1,1">
<Border BorderBrush="White" BorderThickness="1,1,1,1">
<Grid Background="White">
<TextBlock Text="{Binding Name}" TextWrapping="Wrap" Width="16" FontSize="14" Foreground="Black" />
</Grid>
</Border>
</Border>
</Border>
</Canvas>
</DataTemplate>
</GridView.ItemTemplate>
圖中的文字,使用Border進行邊框顯示,同時加一個Grid,白色背景,把TextBlock包裹起來。這樣,背景就能根據文字的長度變化而變化了。
2.進入到“周文”
允許用戶添加筆記。使用ListView實現,也很簡單。
3.閱讀書籍
使用GridView實現,豎排,元素豎排排列就可以達到效果。
從右到左,使用FlowDirection設置就可以達到。
幾乎不用怎麼編寫代碼。
4.放大
放大縮小的效果,是使用ViewBox實現的,又非常簡單了。
5.一些需要特別處理的地方
1.頁面跳轉。
如果直接使用Frame.Navigate,Frame.Back進行跳轉和返回,你會發現,返回的時候,相當於重新Navigate了那個頁面。這個問題就比較惡心了,比如我現在滾動了滾動條,滾動到了一半,點了一篇文章,發現點錯了,點返回,你發現滾動條回到頂點位置了,而不是剛才我滾動到一半的位置,於是我不得不又滾動一遍,叫我情何以堪。
我的解決方案是,搞一個PageLoader,由它來處理頁面跳轉、返回的處理。每Navigate一個頁面,就生成一個新的Frame,當返回時,刪除這個Frame就OK了,這樣,原來的Frame還在,神馬東東都保存著。。
具體代碼,請看我下篇博客吧。因為我覺得這玩意可能需要單獨的一篇博客來進行說明。
2.AppBar
當Frame導向一個Page時,會把Page的AppBar導入進來,原來頁面的AppBar就不見了。
現在的問題是,當現在是有AppBar的頁面時,如果加載一個沒有AppBar的東東,原來的Appbar不會消失。我覺得這應該是一個BUG。
所以,我不得不放棄使用AppBar.
3.最後關於讀取程式內保存的文件、保存用戶配置、試用版的檢測等等,都用新博客來說明,我覺得這樣更好一些。
[END]