UWP 律師信息 MVVM 2.0版本

来源:http://www.cnblogs.com/ZXdeveloper/archive/2017/01/24/6346528.html
-Advertisement-
Play Games

由於1.0版本存在一個很大的BUG,一直也沒有找到問題所在,後來,一位在微軟的朋友說,他們的測試小妹給出的結果是框架的問題,所以,就直接整體重構了代碼,也佈局設計上,由跳轉頁面變為了UWP常見的左側列表,右側詳細內容。 因為要用左右的這種結構,所以,就需要啟用標題欄的後退按鈕,要不然,在每個頁面上的 ...


由於1.0版本存在一個很大的BUG,一直也沒有找到問題所在,後來,一位在微軟的朋友說,他們的測試小妹給出的結果是框架的問題,所以,就直接整體重構了代碼,也佈局設計上,由跳轉頁面變為了UWP常見的左側列表,右側詳細內容。

因為要用左右的這種結構,所以,就需要啟用標題欄的後退按鈕,要不然,在每個頁面上的,就比較難看(具體實現方法,請看源碼,或自行百度)

SystemNavigationManager.GetForCurrentView().AppViewBackButtonVisibility = slaveFrame.CanGoBack ? AppViewBackButtonVisibility.Visible : AppViewBackButtonVisibility.Collapsed;

具體,在什麼位置調用,這個要因項目而定,網上好多都是在APP文件裡面做的

     

因為可以放大和縮小,放大還好說,怎麼都能顯示,但是縮小的話,可能右側也就不見了,所以,當縮小到一定範圍的時候,需要做處理

參見了http://lindexi.oschina.io/lindexi/post/win10-uwp-MVVM%E5%85%A5%E9%97%A8/文章里的MasterDetail一節,通過這是Grid的ColumnDefinition和Canvas.ZIndex來實現的

<Grid>
  <Grid.ColumnDefinitions>
    <ColumnDefinition Width="{x:Bind VM.MasterGrid,Mode=OneWay}" />
    <ColumnDefinition Width="{x:Bind VM.DetailGrid,Mode=OneWay}" />
  </Grid.ColumnDefinitions>
  <Frame Name="mainFrame" Canvas.ZIndex="{x:Bind VM.ZMainFrame,Mode=OneWay}" MaxWidth="500" />
  <Frame Name="slaveFrame" BorderThickness="1" BorderBrush="{ThemeResource SystemControlBackgroundAccentBrush}" Grid.Column="{x:Bind VM.GridInt,Mode=OneWay}" Canvas.ZIndex="{x:Bind VM.ZSlaveFrame,Mode=OneWay}" />
</Grid>

適配手機端的時候,第一次,沒有發現狀態欄被蓋住了,就是沒有顯示出系統的狀態欄,上面是純白色的,處理方法如下

if (ApiInformation.IsTypePresent("Windows.UI.ViewManagement.StatusBar"))
{
    var statusbar = StatusBar.GetForCurrentView();
    await statusbar.ShowAsync();
    statusbar.BackgroundColor = Colors.White;
    statusbar.BackgroundOpacity = 1;
    statusbar.ForegroundColor = Colors.Black;
}

由於,2.0版本相較於1.0版本,除了在數據請求上和VM的大致寫法上相一致,剩下的改動還是很大的,所以,重新在GitHub上提交了一份代碼。

 


您的分享是我們最大的動力!

-Advertisement-
Play Games
更多相關文章
  • 在JS中,引擎,編譯器,作用域分別扮演以下角色: 引擎:負責整個Js程式的編譯以及執行過程。 編譯器:負責語法分析以及代碼生成等。 作用域:負責收集並維護所有聲明的標示符(變數)組成的一系列查詢,並實施一套嚴格的規則,確定當前執行的代碼對這些標識符的訪問許可權。 下麵用一個小例子來表示: var a ...
  • new document 首頁 列表 內容 聯繫 關於 ...
  • ...
  • Tabslet Yet another jQuery plugin for tabs, lightweight, easy to use and with some extra features Demonstration page Documentation (wiki) 實例DEMO 運行一下 ...
  • 特性說明和原理圖: 標準瀏覽器和Ie9+瀏覽器都支持事件的冒泡和捕獲,而IE8-瀏覽器只支持冒泡 標準和Ie9+瀏覽器用stopPropagation()或cancelBubble阻止事件傳播,而ie8-用e.cancelBubble屬性來阻冒泡,註意ie9不支持cancelBubble屬性(設置後 ...
  • 前言: 本文為個人學習react-router的總結。包括路由基礎配置,跳轉,許可權管理,組件與路由配置的關係,代碼分割。歡迎交流指導。 一、路由基礎 1.路由配置 & 顯示路由組件的view(類比angular的ui-view) 路由配置:路由匹配的規則 view:放置路由組件的地方(URL匹配了, ...
  • 今天呢,來推薦一款請輕量級 字體圖標框架。Font Awesome 用法與bootstrap相似 打開網址。download下載,然後打開取到這兩個,下載點這裡,這個博客弄的挺好的。 找到examples,進去,用哪個,就直接把類名加上去,這裡,提醒一下,最好用<i></i> 來包含圖標。 點ico ...
  • 這是學習筆記。 今天做東西的時候,想把體驗做好,於是打算再ajax success欄位中添加函數實現提示sucess。 用了jquery的fadeIn 跟fadeOut,再fadeIn的callback函數中調用了fadeOut,所以在#div1顯示完後又淡出了。 ...
一周排行
    -Advertisement-
    Play Games
  • 移動開發(一):使用.NET MAUI開發第一個安卓APP 對於工作多年的C#程式員來說,近來想嘗試開發一款安卓APP,考慮了很久最終選擇使用.NET MAUI這個微軟官方的框架來嘗試體驗開發安卓APP,畢竟是使用Visual Studio開發工具,使用起來也比較的順手,結合微軟官方的教程進行了安卓 ...
  • 前言 QuestPDF 是一個開源 .NET 庫,用於生成 PDF 文檔。使用了C# Fluent API方式可簡化開發、減少錯誤並提高工作效率。利用它可以輕鬆生成 PDF 報告、發票、導出文件等。 項目介紹 QuestPDF 是一個革命性的開源 .NET 庫,它徹底改變了我們生成 PDF 文檔的方 ...
  • 項目地址 項目後端地址: https://github.com/ZyPLJ/ZYTteeHole 項目前端頁面地址: ZyPLJ/TreeHoleVue (github.com) https://github.com/ZyPLJ/TreeHoleVue 目前項目測試訪問地址: http://tree ...
  • 話不多說,直接開乾 一.下載 1.官方鏈接下載: https://www.microsoft.com/zh-cn/sql-server/sql-server-downloads 2.在下載目錄中找到下麵這個小的安裝包 SQL2022-SSEI-Dev.exe,運行開始下載SQL server; 二. ...
  • 前言 隨著物聯網(IoT)技術的迅猛發展,MQTT(消息隊列遙測傳輸)協議憑藉其輕量級和高效性,已成為眾多物聯網應用的首選通信標準。 MQTTnet 作為一個高性能的 .NET 開源庫,為 .NET 平臺上的 MQTT 客戶端與伺服器開發提供了強大的支持。 本文將全面介紹 MQTTnet 的核心功能 ...
  • Serilog支持多種接收器用於日誌存儲,增強器用於添加屬性,LogContext管理動態屬性,支持多種輸出格式包括純文本、JSON及ExpressionTemplate。還提供了自定義格式化選項,適用於不同需求。 ...
  • 目錄簡介獲取 HTML 文檔解析 HTML 文檔測試參考文章 簡介 動態內容網站使用 JavaScript 腳本動態檢索和渲染數據,爬取信息時需要模擬瀏覽器行為,否則獲取到的源碼基本是空的。 本文使用的爬取步驟如下: 使用 Selenium 獲取渲染後的 HTML 文檔 使用 HtmlAgility ...
  • 1.前言 什麼是熱更新 游戲或者軟體更新時,無需重新下載客戶端進行安裝,而是在應用程式啟動的情況下,在內部進行資源或者代碼更新 Unity目前常用熱更新解決方案 HybridCLR,Xlua,ILRuntime等 Unity目前常用資源管理解決方案 AssetBundles,Addressable, ...
  • 本文章主要是在C# ASP.NET Core Web API框架實現向手機發送驗證碼簡訊功能。這裡我選擇是一個互億無線簡訊驗證碼平臺,其實像阿裡雲,騰訊雲上面也可以。 首先我們先去 互億無線 https://www.ihuyi.com/api/sms.html 去註冊一個賬號 註冊完成賬號後,它會送 ...
  • 通過以下方式可以高效,並保證數據同步的可靠性 1.API設計 使用RESTful設計,確保API端點明確,並使用適當的HTTP方法(如POST用於創建,PUT用於更新)。 設計清晰的請求和響應模型,以確保客戶端能夠理解預期格式。 2.數據驗證 在伺服器端進行嚴格的數據驗證,確保接收到的數據符合預期格 ...