IT博客汇
  • 首页
  • 精华
  • 技术
  • 设计
  • 资讯
  • 扯淡
  • 权利声明
  • 登录 注册

    WP8.1开发实战小技巧:

    编程小梦发表于 2014-11-09 15:04:52
    love 0

    (关于近期许多朋友各种提问我没有回答的说明:

    首先小梦还是个有起码礼貌和素质的人,一般提问即使没有问答.我也会回复下,但最近真心很忙.小梦每天过的都蛮紧张的.所以最近许多的朋友的提问我都没有回复,在这里向大家道个歉,说明下.希望理解!不是小梦装逼,而且真心时间有限.希望初学者能认证看看之前我的博客还有论坛我发的有用的文章,资料.

    其实我的论坛的内容已经把国内所有的windows phone 8.1开发的最新资料都包含了,而且加上我的博客估计目前是国内windows phone8.1开发资料最全的!希望大家都能在论坛活跃下,帮忙推广下.大家有问题相互帮忙下.大家的问题基本是我一个人再回答.而我的精力肯定是有限,社区本来就是互相帮助的!

    过一段有时间我会把我目前所有的资料和源码在整理一下.

    其中几个比较全的完整应用源码将免费送给向我捐赠和论坛积极回答大家问题和推广论坛的朋友.)

    WP8.1开发 屏幕方向控制:

    DisplayOrientations onEntryOrientations;
     protected override void OnNavigatedTo(NavigationEventArgs e)
     {
         onEntryOrientations = DisplayInformation.AutoRotationPreferences;
         Windows.Graphics.Display.DisplayInformation.AutoRotationPreferences = Windows.Graphics.Display.DisplayOrientations.Portrait;
     }
    
     protected override void OnNavigatedFrom(NavigationEventArgs e)
     {
         Windows.Graphics.Display.DisplayInformation.AutoRotationPreferences = onEntryOrientations;
     }

    WP8.1开发 页面间导航动画:

    
    
        
            
                
                    
                
            
    
            
                
                
            
          …
    
        
    

    WP8.1开发 语音识别:

    if (jaRecognizers.Count() > 0)
    {
    //指定识别器
     speechRecognizerUI.Recognizer.SetRecognizer(jaRecognizers.First());
    //听写整句,基于网络识别
     speechRecognizerUI.Recognizer.Grammars.AddGrammarFromPredefinedType("webSearch", SpeechPredefinedGrammar.WebSearch);
    //预加载全部语法
     await speechRecognizerUI.Recognizer.PreloadGrammarsAsync();
    
      // 带 UI 的语音识别器的监听页上显示的标题
     speechRecognizerUI.Settings.ListenText = "正在聆听…";
     // 带 UI 的语音识别器的监听页上显示的示例文本
     speechRecognizerUI.Settings.ExampleText = "语音转文字";
    // 是否用语音朗读识别结果
     speechRecognizerUI.Settings.ReadoutEnabled = true;
    speechRecognizerUI.Settings.ShowConfirmation = true;
     try
     {
    // 开始识别
    SpeechRecognitionUIResult result = await speechRecognizerUI.RecognizeWithUIAsync();
     ContentBox.Text += result.RecognitionResult.Text;
    }
    catch
    {
    //错误处理
    }
    
    }

    WP8.1开发 重写后退键;

    private void HardwareButtons_BackPressed(object sender, BackPressedEventArgs e)
    {
        Frame frame = Window.Current.Content as Frame;
        if (frame == null)
        {
            return;
        }
    
        if (frame.CanGoBack)
        {
            frame.GoBack();
            e.Handled = true;
        }
    }

    WP8.1开发 appBar 浮出:

    
            
                
                    
                        
                            
                                
                            
                        
                    
                
            
        
     List ingredients = new List {
                    "Shortcrust Pastry: ","220g plain flour","120g cold butter",
                    "1 tablespoon very cold water","1 large egg",
                    "separated into yolk and white","Filling: ","1 teaspoon oil",
                    "1 small onion","220g bacon","finely chopped 5 large eggs",
                    "125ml cream","1/4 teaspoon ground nutmeg Salt and pepper",
                    "110g grated tasty cheddar cheese"
                };
    
                IngredientsListBox.ItemsSource = ingredients;

    WP8.1开发 状态栏隐藏

    Windows.UI.ViewManagement.StatusBar.GetForCurrentView().ShowAsync();
    
    Windows.UI.ViewManagement.StatusBar.GetForCurrentView().HideAsync();

    WP8.1开发 命令栏隐藏

    commandBar.Visibility = Windows.UI.Xaml.Visibility.Collapsed;

    WP8.1开发 各种设置页面

    private async void btnAirplane_Click(object sender, RoutedEventArgs e) { // 跳转到“飞行模式设置”页 bool success = await Launcher.LaunchUriAsync(new Uri("ms-settings-airplanemode:")); } 
    private async void btnBluetooth_Click(object sender, RoutedEventArgs e) { // 跳转到“蓝牙设置”页 bool success = await Launcher.LaunchUriAsync(new Uri("ms-settings-bluetooth:")); } 
    private async void btnCellular_Click(object sender, RoutedEventArgs e) { // 跳转到“手机网络设置”页 bool success = await Launcher.LaunchUriAsync(new Uri("ms-settings-cellular:")); } 
    private async void btnWiFi_Click(object sender, RoutedEventArgs e) { // 跳转到“WiFi设置”页 bool success = await Launcher.LaunchUriAsync(new Uri("ms-settings-wifi:")); } 
    private async void btnLocation_Click(object sender, RoutedEventArgs e) { // 跳转到“定位设置”页 bool success = await Launcher.LaunchUriAsync(new Uri("ms-settings-location:")); } 
    private async void btnEmailAccount_Click(object sender, RoutedEventArgs e) { // 跳转到“电子邮件+账户设置”页 bool success = await Launcher.LaunchUriAsync(new Uri("ms-settings-emailandaccounts:")); }
     private async void btnLockScreen_Click(object sender, RoutedEventArgs e) { // 跳转到“锁屏设置”页 bool success = await Launcher.LaunchUriAsync(new Uri("ms-settings-lock:")); } 
    private async void Button_Click(object sender, RoutedEventArgs e) { //屏幕旋转 var success = await Windows.System.Launcher.LaunchUriAsync(new Uri("ms-settings-screenrotation:")); } 
    private async void btnCallTo_Click(object sender, RoutedEventArgs e) { // 拨打指定的电话号码 bool success = await Launcher.LaunchUriAsync(new Uri("tel:1391234567")); // bool success = await Launcher.LaunchUriAsync(new Uri("callto:1391234567")); } 
    private async void btnHttp_Click(object sender, RoutedEventArgs e) { // 用浏览器打开一个指定的 http 链接 bool success = await Launcher.LaunchUriAsync(new Uri("http://webabcd.cnblogs.com/")); } 
    private async void btnMailTo_Click(object sender, RoutedEventArgs e) { // 向指定的地址发送邮件 bool success = await Launcher.LaunchUriAsync(new Uri("mailto:aaa@xxx.com")); }

    WP8.1开发 应用商店:

    private async void btnMarketplaceDetail_Click(object sender, RoutedEventArgs e) { // 打开指定 app 在商店中的详细页 bool success = await Launcher.LaunchUriAsync(new Uri("zune:navigate?appid=dcdd7004-064a-4c04-ad22-eae725f8ffb1")); } 
    private async void btnMarketplaceReview_Click(object sender, RoutedEventArgs e) { // 在商店中评论指定的 app // bool success = await Launcher.LaunchUriAsync(new Uri("zune:reviewapp?appid=dcdd7004-064a-4c04-ad22-eae725f8ffb1")); await Windows.System.Launcher.LaunchUriAsync(new Uri("zune:reviewapp?appid=" + CurrentApp.AppId)); } 
    private async void btnMarketplaceSearch_Click(object sender, RoutedEventArgs e) { // 在商店中搜索 app(支持按关键字和发行商搜索) bool success = await Launcher.LaunchUriAsync(new Uri("zune:search?keyword=&publisher=Czh1994&contenttype=app")); }

    WP8.1开发 获取证书凭证:

    void SaveCredential(string username, string password) {
         PasswordVault vault = new PasswordVault();
         PasswordCredential cred = new PasswordCredential(“MyAppResource”, username, password);
         vault.Add(cred);
    }
    
    IReadOnlyList RetrieveCredential(string resource) {
         PasswordVault vault = new PasswordVault();
         return vault.FindAllByResource(resource);
    }

    WP8.1开发 检查是否连接网络:

    bool CheckNetwork()
            {
                bool isOnline = false;
                ConnectionProfile InternetConnectionProfile = NetworkInformation.GetInternetConnectionProfile();
                if (InternetConnectionProfile==null)
    
                {
    
                    txtMag.Text = "亲:断网情况下无法显示词典内容!";
    
                }
               else
                {
                    isOnline = true;
                }
                return isOnline;
            }

    WP8.1开发 状态显示进度条

    Windows.UI.ViewManagement.StatusBar.GetForCurrentView().ShowAsync();
    
    var progInd = Windows.UI.ViewManagement.StatusBar.GetForCurrentView().ProgressIndicator;
    
    progInd.Text = "Fetching...";
    
    progInd.ShowAsync();

    WP8.1开发 listview gridview多选和拖动设置:

    MyListView.ReorderMode = ListViewReorderMode.Enabled;
    
    MyListView.SelectionMode = ListViewSelectionMode.Multiple;

    WP8.1开发 完全退出应用程序

    Application.Current. Exit();

    WP8.1开发 获取手机IP

    public string GetIPAddress()
            {
    
                List arrayIPAddress = new List();
                // Windows.Networking.Connectivity.  
                var hostNames = Windows.Networking.Connectivity.NetworkInformation.GetHostNames();
                foreach (var hn in hostNames)
                {
                    if (hn.IPInformation != null)
                    {
                        string ipAddress = hn.DisplayName;
                        arrayIPAddress.Add(ipAddress);
                    }
                }
                if (arrayIPAddress.Count < 1)
                {
                    return null;
                }
                if (arrayIPAddress.Count == 1)
                {
                    strIPAddress = arrayIPAddress[0];
                }
                if (arrayIPAddress.Count > 1)
                {
                    strIPAddress = arrayIPAddress[arrayIPAddress.Count - 1];
                }
    
                for (int i = 0; i < arrayIPAddress.Count; i++)
                {
                    System.Diagnostics.Debug.WriteLine("No.{0} host IP is: {1}", i + 1, arrayIPAddress[i]);
                }
                return strIPAddress;
            }

    未完待续!

    如果小梦的文章对你有帮助!欢迎支持小梦!



沪ICP备19023445号-2号
友情链接