C # Learning about Windows Phone and Windows apps development

Source: Internet
Author: User
<span id="Label3"></p><p><p>Two weeks of experimental show class is over, see other people's various tall applications and use a variety of game engine games, feel good Advanced. Under comparison, One application that feels like a combination of Notepad and Bill is a little low. But after all, it is through the access to a variety of online materials and books made Out. or, You should be happy a little.</p></p><p><p>Here's a look at the problems that are encountered during the development of Windows Phone and Windows Apps.</p></p><p><p>The main thing is that the storage of the file is not known in the first way. At first, some information was found on the internet, which reads the use of var appstorage = Isolatedstoragefile.getuserstoreforapplication ();</p></p><p><p>This method is stored when the Click OK button is on the start store. The code is as Follows:</p></p><pre> <span style="color: #0000ff;"><span style="color: #0000ff;">Private</span></span> <span style="color: #0000ff;"><span style="color: #0000ff;">void</span></span>Quedingbutton_click (<span style="color: #0000ff;"><span style="color: #0000ff;">Object</span></span><span style="color: #000000;"><span style="color: #000000;">sender, RoutedEventArgs E) { </span></span><span style="color: #0000ff;"><span style="color: #0000ff;">var</span></span>Appstorage =<span style="color: #000000;"><span style="color: #000000;">isolatedstoragefile.getuserstoreforapplication (); </span></span><span style="color: #008000;"><span style="color: #008000;">//</span></span><span style="color: #008000;"><span style="color: #008000;">build the full name of the file, which consists of a time and a file Name.</span></span>StringBuilder filename =<span style="color: #0000ff;"><span style="color: #0000ff;">New</span></span><span style="color: #000000;"><span style="color: #000000;">StringBuilder (); </span></span><span style="color: #0000ff;"><span style="color: #0000ff;">var</span></span>data = datapicker1.valuestring;<span style="color: #008000;"><span style="color: #008000;">//</span></span><span style="color: #008000;"><span style="color: #008000;">gets the time that was filled in when the user created the event</span></span><span style="color: #000000;"><span style="color: #000000;">Filename. Append (data); FileName. Append (</span></span><span style="color: #800000;"><span style="color: #800000;">"</span></span><span style="color: #800000;"><span style="color: #800000;">_</span></span><span style="color: #800000;"><span style="color: #800000;">"</span></span><span style="color: #000000;"><span style="color: #000000;">); </span></span><span style="color: #0000ff;"><span style="color: #0000ff;">var</span></span>Data2 = timerpick1.valuestring;<span style="color: #008000;"><span style="color: #008000;">//</span></span><span style="color: #000000;"><span style="color: #000000;">Filename. Append (data2); FileName. Append (</span></span><span style="color: #800000;"><span style="color: #800000;">"</span></span><span style="color: #800000;"><span style="color: #800000;">_</span></span><span style="color: #800000;"><span style="color: #800000;">"</span></span><span style="color: #000000;"><span style="color: #000000;">); FileName. Append (filenametextbox. Text.tostring ()); </span></span><span style="color: #008000;"><span style="color: #008000;">//</span></span><span style="color: #008000;"><span style="color: #008000;">gets the name of the event that was filled in when the user created the event</span></span>FileName. Append (<span style="color: #800000;"><span style="color: #800000;">"</span></span><span style="color: #800000;">. <span style="color: #800000;">txt</span></span><span style="color: #800000;"><span style="color: #800000;">"</span></span><span style="color: #000000;"><span style="color: #000000;">); </span></span><span style="color: #0000ff;"><span style="color: #0000ff;">string</span></span>Mycfilename =<span style="color: #000000;"><span style="color: #000000;">Filename. ToString (); </span></span><span style="color: #008000;"><span style="color: #008000;">//</span></span><span style="color: #008000;">Create a <span style="color: #008000;">file, and fill in the contents of the file, the creation file name cannot contain/or:, otherwise the creation fails</span></span> <span style="color: #0000ff;"><span style="color: #0000ff;">string</span></span>Mycfilename1 = Mycfilename. Replace (<span style="color: #800000;"><span style="color: #800000;">"</span></span><span style="color: #800000;"><span style="color: #800000;">/</span></span><span style="color: #800000;"><span style="color: #800000;">"</span></span>,<span style="color: #800000;"><span style="color: #800000;">"</span></span><span style="color: #800000;"><span style="color: #800000;">_</span></span><span style="color: #800000;"><span style="color: #800000;">"</span></span><span style="color: #000000;"><span style="color: #000000;">); </span></span><span style="color: #0000ff;"><span style="color: #0000ff;">string</span></span>Mycfilename2 = mycfilename1. Replace (<span style="color: #800000;"><span style="color: #800000;">"</span></span><span style="color: #800000;"><span style="color: #800000;">:</span></span><span style="color: #800000;"><span style="color: #800000;">"</span></span>,<span style="color: #800000;"><span style="color: #800000;">"</span></span><span style="color: #800000;"><span style="color: #800000;">_</span></span><span style="color: #800000;"><span style="color: #800000;">"</span></span><span style="color: #000000;"><span style="color: #000000;">); </span></span><span style="color: #0000ff;"><span style="color: #0000ff;">Try</span></span><span style="color: #000000;"><span style="color: #000000;"> { </span></span><span style="color: #0000ff;"><span style="color: #0000ff;">if</span></span>(!<span style="color: #000000;"><span style="color: #000000;">appstorage.fileexists (mycfilename2)) { </span></span><span style="color: #0000ff;"><span style="color: #0000ff;">using</span></span>(<span style="color: #0000ff;"><span style="color: #0000ff;">var</span></span>File =<span style="color: #000000;"><span style="color: #000000;">Appstorage.createfile (mycfilename2)) { </span></span><span style="color: #0000ff;"><span style="color: #0000ff;">using</span></span>(<span style="color: #0000ff;"><span style="color: #0000ff;">var</span></span>writer =<span style="color: #0000ff;"><span style="color: #0000ff;">New</span></span><span style="color: #000000;"><span style="color: #000000;">StreamWriter (file)) {writer. WriteLine (</span></span><span style="color: #0000ff;"><span style="color: #0000ff;"></span> this</span><span style="color: #000000;"><span style="color: #000000;">. Filecontent. Text); } } } </span></span><span style="color: #0000ff;"><span style="color: #0000ff;">Else</span></span><span style="color: #000000;"><span style="color: #000000;">{isolatedstoragefilestream Stream</span></span>=<span style="color: #000000;"><span style="color: #000000;">appstorage.openfile (mycfilename2, filemode.open); </span></span><span style="color: #0000ff;"><span style="color: #0000ff;">using</span></span>(StreamWriter writer=<span style="color: #0000ff;"><span style="color: #0000ff;">New</span></span><span style="color: #000000;"><span style="color: #000000;">StreamWriter (stream)) { </span></span><span style="color: #008000;"><span style="color: #008000;">//</span></span><span style="color: #008000;"><span style="color: #008000;">writing content to a file</span></span><span style="color: #008000;"><span style="color: #008000;">//</span></span><span style="color: #008000;"><span style="color: #008000;">Filecontent. Text = Reader. ReadLine ();</span></span><span style="color: #000000;"><span style="color: #000000;">Writer. WriteLine (filecontent. Text); Writer. Close (); }</span></span></pre><p><p>But this is used in Windows phone7, which is simply not available in Windows Phone and windowsapp.</p></p><p><p>I also thought about using the database to store it (because I was learning the database), but I didn't know what the reason was to give up. finally, through continued access to Information. ultimately, you decide to use XML to store Files.</p></p><p><p>Here's How to use It:</p></p><pre> <span style="color: #0000ff;"><span style="color: #0000ff;">Private</span></span> <span style="color: #0000ff;"><span style="color: #0000ff;">Async</span></span> <span style="color: #0000ff;"><span style="color: #0000ff;">void</span></span>Quedingbtn_click (<span style="color: #0000ff;"><span style="color: #0000ff;">Object</span></span><span style="color: #000000;"><span style="color: #000000;">sender, RoutedEventArgs E) {storagefolder Storage</span></span>=<span style="color: #0000ff;"><span style="color: #0000ff;">await</span></span>ApplicationData.Current.LocalFolder.GetFolderAsync (<span style="color: #800000;"><span style="color: #800000;">"</span></span><span style="color: #800000;"><span style="color: #800000;">MyList</span></span><span style="color: #800000;"><span style="color: #800000;">"</span></span><span style="color: #000000;"><span style="color: #000000;">); XmlDocument _doc</span></span>=<span style="color: #0000ff;"><span style="color: #0000ff;">New</span></span><span style="color: #000000;"><span style="color: #000000;">XmlDocument (); </span></span><span style="color: #0000ff;"><span style="color: #0000ff;">if</span></span>(mingcheng. Text = =<span style="color: #0000ff;"><span style="color: #0000ff;">string</span></span>. Empty | | Jiage. Text = =<span style="color: #0000ff;"><span style="color: #0000ff;">string</span></span>. Empty | | Shuliang. Text = =<span style="color: #0000ff;"><span style="color: #0000ff;">string</span></span><span style="color: #000000;"><span style="color: #000000;">. Empty) {</span></span><span style="color: #0000ff;"><span style="color: #0000ff;">await</span></span> <span style="color: #0000ff;"><span style="color: #0000ff;">New</span></span>Messagedialog (<span style="color: #800000;"><span style="color: #800000;">"</span></span><span style="color: #800000;"><span style="color: #800000;">Please enter</span></span><span style="color: #800000;"><span style="color: #800000;">"</span></span><span style="color: #000000;"><span style="color: #000000;">). Showasync (); } </span></span><span style="color: #0000ff;"><span style="color: #0000ff;">Else</span></span><span style="color: #000000;"><span style="color: #000000;">{XmlElement _item</span></span>=<span style="color: #000000;"><span style="color: #000000;">_doc. CreateElement (mingcheng. Text); _item. SetAttribute (</span></span><span style="color: #800000;"><span style="color: #800000;">"</span></span><span style="color: #800000;"><span style="color: #800000;">Mingcheng</span></span><span style="color: #800000;"><span style="color: #800000;">"</span></span><span style="color: #000000;"><span style="color: #000000;">, Mingcheng. Text); _item. SetAttribute (</span></span><span style="color: #800000;"><span style="color: #800000;">"</span></span><span style="color: #800000;"><span style="color: #800000;">Shuliang</span></span><span style="color: #800000;"><span style="color: #800000;">"</span></span><span style="color: #000000;"><span style="color: #000000;">, Shuliang. Text); _item. SetAttribute (</span></span><span style="color: #800000;"><span style="color: #800000;">"</span></span><span style="color: #800000;"><span style="color: #800000;">Jiage</span></span><span style="color: #800000;"><span style="color: #800000;">"</span></span><span style="color: #000000;"><span style="color: #000000;">, Jiage. Text); _doc. AppendChild (_item); StorageFile file2</span></span>=<span style="color: #0000ff;"><span style="color: #0000ff;">await</span></span>Storage. Createfileasync (mingcheng. Text +<span style="color: #800000;"><span style="color: #800000;">"</span></span><span style="color: #800000;"><span style="color: #800000;">. XML</span></span><span style="color: #800000;"><span style="color: #800000;">"</span></span><span style="color: #000000;"><span style="color: #000000;">, creationcollisionoption.replaceexisting); </span></span><span style="color: #0000ff;"><span style="color: #0000ff;">await</span></span><span style="color: #000000;"><span style="color: #000000;">_doc. Savetofileasync (file2); Frame.navigate (</span></span><span style="color: #0000ff;"><span style="color: #0000ff;">typeof</span></span><span style="color: #000000;"><span style="color: #000000;">(MainPage2), file2); }</span></span></pre><p><p>however, XML still has a constant disadvantage is that when the volume of data is very large, very inefficient, very. But I think it should be enough for this Application.</p></p><p><p></p></p><p><p>Binding of the data, using the binding and the attributes in the class you Wrote.</p></p><p><p>eg::</p></p><pre><grid x:name=<span style="color: #800000;"><span style="color: #800000;">"</span></span><span style="color: #800000;"><span style="color: #800000;">Contentpanel</span></span><span style="color: #800000;"><span style="color: #800000;">"</span></span>grid.row=<span style="color: #800000;"><span style="color: #800000;">"</span></span><span style="color: #800000;"><span style="color: #800000;">1</span></span><span style="color: #800000;"><span style="color: #800000;">"</span></span>margin=<span style="color: #800000;"><span style="color: #800000;">"</span></span><span style="color: #800000;"><span style="color: #800000;">12,0,12,0</span></span><span style="color: #800000;"><span style="color: #800000;">"</span></span>Background=<span style="color: #800000;"><span style="color: #800000;">"</span></span><span style="color: #800000;"><span style="color: #800000;">#FFF9F970</span></span><span style="color: #800000;"><span style="color: #800000;">"</span></span>> <listbox name=<span style="color: #800000;"><span style="color: #800000;">"</span></span><span style="color: #800000;"><span style="color: #800000;">Shijianlistbox</span></span><span style="color: #800000;"><span style="color: #800000;">"</span></span>Horizontalalignment=<span style="color: #800000;"><span style="color: #800000;">"</span></span><span style="color: #800000;"><span style="color: #800000;">Stretch</span></span><span style="color: #800000;"><span style="color: #800000;">"</span></span>Verticalalignment=<span style="color: #800000;"><span style="color: #800000;">"</span></span><span style="color: #800000;"><span style="color: #800000;">Stretch</span></span><span style="color: #800000;"><span style="color: #800000;">"</span></span><span style="color: #000000;"><span style="color: #000000;">selectionchanged</span></span>=<span style="color: #800000;"><span style="color: #800000;">"</span></span><span style="color: #800000;"><span style="color: #800000;">shijianlistbox_selectionchanged</span></span><span style="color: #800000;"><span style="color: #800000;">"</span></span>> <ListBox.ItemTemplate> <DataTemplate> &LT;STACKP Anel> <!--<button name=<span style="color: #800000;"><span style="color: #800000;">"</span></span><span style="color: #800000;"><span style="color: #800000;">Shijianbutton</span></span><span style="color: #800000;"><span style="color: #800000;">"</span></span><span style="color: #000000;"><span style="color: #000000;">FontSize</span></span>=<span style="color: #800000;"><span style="color: #800000;">"</span></span><span style="color: #800000;"><span style="color: #800000;"></span> +</span><span style="color: #800000;"><span style="color: #800000;">"</span></span><span style="color: #000000;"><span style="color: #000000;">Foreground</span></span>=<span style="color: #800000;"><span style="color: #800000;">"</span></span><span style="color: #800000;"><span style="color: #800000;">Black</span></span><span style="color: #800000;"><span style="color: #800000;">"</span></span><span style="color: #000000;"><span style="color: #000000;">Content</span></span>=<span style="color: #800000;"><span style="color: #800000;">"</span></span><span style="color: #800000;"><span style="color: #800000;">{Binding filename}</span></span><span style="color: #800000;"><span style="color: #800000;">"</span></span>/>--> <textblock name=<span style="color: #800000;"><span style="color: #800000;">"</span></span><span style="color: #800000;"><span style="color: #800000;">Shijiantextblock</span></span><span style="color: #800000;"><span style="color: #800000;">"</span></span>Fontsize=<span style="color: #800000;"><span style="color: #800000;">"</span></span><span style="color: #800000;"><span style="color: #800000;"></span> +</span><span style="color: #800000;"><span style="color: #800000;">"</span></span><span style="color: #000000;"><span style="color: #000000;">Foreground</span></span>=<span style="color: #800000;"><span style="color: #800000;">"</span></span><span style="color: #800000;"><span style="color: #800000;">Black</span></span><span style="color: #800000;"><span style="color: #800000;">"</span></span><span style="color: #000000;"><span style="color: #000000;">Text</span></span>=<span style="color: #800000;"><span style="color: #800000;">"</span></span><span style="color: #800000;"><span style="color: #800000;">{Binding filename}</span></span><span style="color: #800000;"><span style="color: #800000;">"</span></span>/> <stackpanel orientation=<span style="color: #800000;"><span style="color: #800000;">"</span></span><span style="color: #800000;"><span style="color: #800000;">Horizontal</span></span><span style="color: #800000;"><span style="color: #800000;">"</span></span>> <textblock name=<span style="color: #800000;"><span style="color: #800000;">"</span></span><span style="color: #800000;"><span style="color: #800000;">Shijianneirong</span></span><span style="color: #800000;"><span style="color: #800000;">"</span></span><span style="color: #000000;"><span style="color: #000000;">Text</span></span>=<span style="color: #800000;"><span style="color: #800000;">"</span></span><span style="color: #800000;"><span style="color: #800000;">{Binding createdate}</span></span><span style="color: #800000;"><span style="color: #800000;">"</span></span><span style="color: #000000;"><span style="color: #000000;">Foreground</span></span>=<span style="color: #800000;"><span style="color: #800000;">"</span></span><span style="color: #800000;"><span style="color: #800000;">Black</span></span><span style="color: #800000;"><span style="color: #800000;">"</span></span><span style="color: #000000;"><span style="color: #000000;">Margin</span></span>=<span style="color: #800000;"><span style="color: #800000;">"</span></span><span style="color: #800000;"><span style="color: #800000;">Ten</span></span><span style="color: #800000;"><span style="color: #800000;">"</span></span>> </TextBlock> <textblock name=<span style="color: #800000;"><span style="color: #800000;">"</span></span><span style="color: #800000;"><span style="color: #800000;">notedatecreated</span></span><span style="color: #800000;"><span style="color: #800000;">"</span></span><span style="color: #000000;"><span style="color: #000000;">Text</span></span>=<span style="color: #800000;"><span style="color: #800000;">"</span></span><span style="color: #800000;"><span style="color: #800000;">{Binding createdatatime}</span></span><span style="color: #800000;"><span style="color: #800000;">"</span></span><span style="color: #000000;"><span style="color: #000000;">Foreground</span></span>=<span style="color: #800000;"><span style="color: #800000;">"</span></span><span style="color: #800000;"><span style="color: #800000;">Black</span></span><span style="color: #800000;"><span style="color: #800000;">"</span></span><span style="color: #000000;"><span style="color: #000000;">Margin</span></span>=<span style="color: #800000;"><span style="color: #800000;">"</span></span><span style="color: #800000;"><span style="color: #800000;">Ten</span></span><span style="color: #800000;"><span style="color: #800000;">"</span></span>> </TextBlock> </StackPanel> </StackPanel> </DataTemplate> </listbox.ite Mtemplate> </ListBox></pre><p><p>Use the bind binding filename, binding createdate, and binding createdatatime to bind a control in XAML or text in a textblock.</p></p><p><p>In the end, let's say I feel good about myself, this interface is a TextBlock and a few buttons and there is an empty listbox with no other controls in it. Add something else to it. for example, TextBlock and Button are implemented in the definition of a later control:</p></p><p><p></p></p><pre> <span style="color: #0000ff;"><span style="color: #0000ff;">Async</span></span> <span style="color: #0000ff;"><span style="color: #0000ff;">void</span></span>Mainpage_loaded (<span style="color: #0000ff;"><span style="color: #0000ff;">Object</span></span><span style="color: #000000;"><span style="color: #000000;">sender, RoutedEventArgs E) {list2. Items.clear (); Storagefolder Storage</span></span>=<span style="color: #0000ff;"><span style="color: #0000ff;">await</span></span>ApplicationData.Current.LocalFolder.CreateFolderAsync (<span style="color: #800000;"><span style="color: #800000;">"</span></span><span style="color: #800000;"><span style="color: #800000;">MyList</span></span><span style="color: #800000;"><span style="color: #800000;">"</span></span><span style="color: #000000;"><span style="color: #000000;">, creationcollisionoption.openifexists); </span></span><span style="color: #0000ff;"><span style="color: #0000ff;">var</span></span>Files =<span style="color: #0000ff;"><span style="color: #0000ff;">await</span></span><span style="color: #000000;"><span style="color: #000000;">Storage. Getfilesasync (); { </span></span><span style="color: #0000ff;"><span style="color: #0000ff;">foreach</span></span>(StorageFile file<span style="color: #0000ff;"><span style="color: #0000ff;">inch</span></span><span style="color: #000000;"><span style="color: #000000;">files) {Grid a</span></span>=<span style="color: #0000ff;"><span style="color: #0000ff;">New</span></span><span style="color: #000000;"><span style="color: #000000;">Grid (); ColumnDefinition Col</span></span>=<span style="color: #0000ff;"><span style="color: #0000ff;">New</span></span><span style="color: #000000;"><span style="color: #000000;">ColumnDefinition (); GridLength GL</span></span>=<span style="color: #0000ff;"><span style="color: #0000ff;">New</span></span>GridLength (<span style="color: #800080;"><span style="color: #800080;"></span> -</span><span style="color: #000000;"><span style="color: #000000;">); Col. Width</span></span>=<span style="color: #000000;"><span style="color: #000000;">gl; A.columndefinitions.add (col); ColumnDefinition col2</span></span>=<span style="color: #0000ff;"><span style="color: #0000ff;">New</span></span><span style="color: #000000;"><span style="color: #000000;">ColumnDefinition (); GridLength GL2</span></span>=<span style="color: #0000ff;"><span style="color: #0000ff;">New</span></span>GridLength (<span style="color: #800080;"><span style="color: #800080;"></span> $</span><span style="color: #000000;"><span style="color: #000000;">); col2. Width</span></span>=<span style="color: #000000;"><span style="color: #000000;">gl; A.columndefinitions.add (col2); TextBlock txbx</span></span>=<span style="color: #0000ff;"><span style="color: #0000ff;">New</span></span><span style="color: #000000;"><span style="color: #000000;">TextBlock (); Txbx. Text</span></span>=<span style="color: #000000;"><span style="color: #000000;">File. DisplayName; Grid.setcolumn (txbx,</span></span><span style="color: #800080;"><span style="color: #800080;">0</span></span><span style="color: #000000;"><span style="color: #000000;">); Hyperlinkbutton btn</span></span>=<span style="color: #0000ff;"><span style="color: #0000ff;">New</span></span><span style="color: #000000;"><span style="color: #000000;">Hyperlinkbutton (); Btn. Width</span></span>=<span style="color: #800080;"><span style="color: #800080;"></span> $</span><span style="color: #000000;"><span style="color: #000000;">; Btn. Content</span></span>=<span style="color: #800000;"><span style="color: #800000;">"</span></span><span style="color: #800000;"><span style="color: #800000;">View Details</span></span><span style="color: #800000;"><span style="color: #800000;">"</span></span><span style="color: #000000;"><span style="color: #000000;">; Btn. Name</span></span>=<span style="color: #000000;"><span style="color: #000000;">File. DisplayName; Btn. Click</span></span>+ = (s, Ea) = =<span style="color: #000000;"><span style="color: #000000;">{frame.navigate (</span></span><span style="color: #0000ff;"><span style="color: #0000ff;">typeof</span></span><span style="color: #000000;"><span style="color: #000000;">(chakan2), file); }; Grid.setcolumn (btn,</span></span><span style="color: #800080;"><span style="color: #800080;">1</span></span><span style="color: #000000;"><span style="color: #000000;">); A.children.add (txbx); A.children.add (btn); list2. Items.Add (a); } } }</span></span></pre><p><p>This makes it easy to get the content of the control, which the individual thinks is much better than adding space directly in the Listbox.</p></p><p><p></p></p><p><p>C # Learning about Windows Phone and Windows apps development</p></p></span>

Contact Us

The content source of this page is from Internet, which doesn't represent Alibaba Cloud's opinion; products and services mentioned on that page don't have any relationship with Alibaba Cloud. If the content of the page makes you feel confusing, please write us an email, we will handle the problem within 5 days after receiving your email.

If you find any instances of plagiarism from the community, please send an email to: info-contact@alibabacloud.com and provide relevant evidence. A staff member will contact you within 5 working days.

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.