FileHelper pour Winrt - Windows Phone et Windows 8.1

 01/01/2019 |   Admin |  Xamarin


Il existe des API du Framework .NET qui n'existent pas dans les API .NET des Windows Store Apps.

Par exemple Sytem.IO, dans l'API .Net pour les Windows Apps ne contient pas System.IO.IsolatedStorage mais Windows.Storage.

Cette API fournit un comportement similaire mais son utiliastion est très différente. 

Après le développement de plusieurs applications Windows Store, j'ai remarqué que le développement d'une classe FileHelper serait utile.

En effet, des méthodes comme FileExists() ou FolderExists() ne sont pas proposés par Windows.Storage alors que leur utilisation est quasiment inévitable.

J'ai donc décidé de mettre ce code sur GitHub pour qu'il puisse être réutilisé et amélioré. Le code source ainsi que le sample d'une Universal Apps sont disponibles.

Voici la liste des fonctions majeures proposées :

FileHelper :

FileExistsAsync()

FolderExistsAsync()

GetFileStreamAsync()

GetContentFromFileAsync()

GetFileBytesAsync()

WriteToFileAsync()

ConvertStorageFileToBase64StringAsync()

EnumerateFilesAsync()

GetSubFoldersAsync()

DeserialiseXml<T>()

ZipHelper :

ZipFileAsync()

UnZipFileAsync()

Vous pouvez retrouver ce projet sur GitHub et le package nuget correspondant : Ph.WinRtFileHelper

Lire >>

Windows phone - Supprimer l'historique d'une searchBox / SearchBar dynamiquement

 01/01/2019 |   Admin |  Xamarin


Pour supprimer l'historique d'une recherche dans un composant de type SearchBox sur Windows Phone ou du composant SearchBar sur Xamarin avec Windows, il suffit d'éxécuter ce code:

 
// Clear SearchBar history
var searchManager = new Windows.ApplicationModel.Search.Core.SearchSuggestionManager();
searchManager.ClearHistory();

Avec Xamarin, il suffit d'éxécuter ce code dans le App.xaml.cs de l'application Windows après cette ligne de code:

 
 // Place the frame in the current Window
Window.Current.Content = rootFrame;

Lire >>

Implémentation de "User Dialogs" pour Windows phone 8, Windows 8 et Xamarin pour Windows

 01/01/2019 |   Admin |  Xamarin


Voici un exemple d'implémentation du plugin UserDialogs pour la plateforme Windows.

L'auteur du plugin a indiqué qu'il ne supportera pas Windows 8. Il préfère se concentrer sur le développement du plugin pour Windows 10.

ConfirmAsync

public async Task<bool> ConfirmAsync(string message, string title = null, string okText = "OK", string cancelText = "Cancel")
{
   var messgeDialog = new MessageDialog(message, title);
   messgeDialog.Commands.Add(new UICommand(okText));
   messgeDialog.Commands.Add(new UICommand(cancelText));
   messgeDialog.DefaultCommandIndex = 0;
   messgeDialog.CancelCommandIndex = 1;
   var result = await messgeDialog.ShowAsync();
   if (result.Label.Equals(okText))
   {
      return true;
   }
   else
   {
      return false;
   } 
}

AlertAsync

public async Task AlertAsync(string message, string title = null, string okText = "OK")
{
   var md = new MessageDialog(message, title);
   await md.ShowAsync();
}

PromptAsync

public async Task PromptAsync(string message, string title = null, string okText = "OK", string cancelText = "Cancel", string placeholder = "", bool secure = false)
{
   var dialog = new PromptDialog(message, placeholder);
   var result = await dialog.ShowAsync();
   if (result != null)
   {
      return result;
   }
   else
   {
     
...

Lire >>

  • 1