在Windows 8的程序中:
1. 获取用户窗口的宽高;
double height = Windows.UI.Xaml.Window.Current.Bounds.Height; double width = Window.Current.Bounds.Width;
2. 获取用户的语言设置;
this._cultureInfo = System.Globalization.CultureInfo .CurrentUICulture .Name .ToString ();
注释: 我现在还不清楚这个CurrentUICulture是怎么使用的。 我的应用中是通过获取用户的区域来决定显示的语言的:
this._region = Windows.System.UserProfile.GlobalizationPreferences.HomeGeographicRegion;
如果返回的值_region是“CN”, 那么我的程序就显示中文。
3. 文件的读取, text方式;
using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; using Windows.Storage; namespace QpuzzleTouch.DataModel { public class FileAccess:QpuzzleTouch .Common .BindableBase { private static FileAccess _fileAccess=new FileAccess(); public StorageFile StorageFile = null; string _fileName = null; public string UserData = string.Empty; public FileAccess() { this._fileName = "QpuzzleCustomConfig.txt"; } public static async void InitStorageFile() { try { StorageFolder storageFolder = KnownFolders.DocumentsLibrary; _fileAccess.StorageFile = await storageFolder .GetFileAsync (_fileAccess ._fileName ); if (_fileAccess.StorageFile != null) { _fileAccess.UserData = await FileIO.ReadTextAsync(_fileAccess.StorageFile); } } catch { } } public static string GetData() { InitStorageFile(); try { if (_fileAccess.UserData != string.Empty) return _fileAccess.UserData; else return string.Empty; } catch { return string.Empty; } } public static async void CreateFile(string fileName) { try { StorageFolder storageFolder = KnownFolders.DocumentsLibrary; _fileAccess.StorageFile = await storageFolder.CreateFileAsync(fileName, CreationCollisionOption.ReplaceExisting); } catch { } } public static async void WriteText(string userContent) { CreateFile(_fileAccess._fileName); try { if (_fileAccess.StorageFile != null) { await FileIO.WriteTextAsync(_fileAccess.StorageFile, userContent); } } catch { } } } }
向程序的本地目录里边写配置文件。
Windows.Storage.ApplicationData.Current.LocalFolder.
async void ReadFromFile() { StorageFolder storageFolder = Windows.Storage.ApplicationData.Current.LocalFolder; StorageFile storageFile = await storageFolder.CreateFileAsync("text.txt", CreationCollisionOption.OpenIfExists); string result =await FileIO.ReadTextAsync(storageFile); textbox1.Text = result; } private async void btwrite_Click(object sender, RoutedEventArgs e) { StorageFolder storageFolder = Windows.Storage.ApplicationData.Current.LocalFolder; StorageFile storageFile =await storageFolder.CreateFileAsync("text.txt", CreationCollisionOption.OpenIfExists); await FileIO.AppendTextAsync(storageFile, "abc"); }