Cartlanna míosúla: Aibreán 2013

Tapaidh agus éasca: Bog ar Dronuilleog Ag baint úsáide as C # I Store App Windows

Is é mo fhealsúnacht bhlag foriomlán go bhfuil sé breá breá le blag faoi aois, socraithe hábhair a clúdaíodh chun báis in áiteanna eile.  Glacadh leis go bhfuil an ábhar seo ar cheann de na, ach tá mé ag blogging é ar aon nós.

Tá mé ag obair ar app siopa fuinneog agus tá mé ag an chuid nuair is gá dom a dhéanamh ar roinnt beocht.  Chun na críche sin, Tá mé ag figuring amach giotán agus píosaí de fuinneoga siopa app beochan a, mar a casadh sé amach, Tá gar go leor, ach ní go díreach cosúil le, XAML beochan bunaithe i. NET (Tá mé ag teacht fós i ngleic leis an bhfíric go WinRT <> .NET 🙂 ).

Ar maidin bhí mé a fháil a láimhseáil ar oibríochtaí agus tarraing titim.  En mbealach chuig an, Fuair ​​mé bogged síos ag bogadh dronuilleog ionad :).  Seo an cód go mbogann dronuilleog nuair a cad a tharlaíonn nuair an t-úsáideoir an cnaipe:

   1:   
   2:              MatrixTransform CT = (MatrixTransform)rectBig.RenderTransform;
   3:              Maitrís m = ct.Matrix;
   4:              m.OffsetX   = 10;
   5:              m.OffsetY   = 10;
   6:              ct.Matrix = m;
   7:              rectBig.RenderTransform = ct;

Is é an trick anseo nach féidir liom a athrú go díreach OffsetX nó OffsetY.  D'fhéadfadh a bheith ann ar bhealach níos cliste é seo a dhéanamh (agus má tá a fhios agat agus gur mhaith leat, le do thoil an bpost i na tuairimí). 

D'fhonn é seo a dhéanamh, Is gá dom a:

1. Faigh an MatrixTransform na dronuilleoige (le réitigh RenderTransform).

2. Faigh an Maitrís de go Guy.

3. Athraigh fritháireamh ar an Maitrís ar.

4. Athshannadh an Mhaitrís ar ais go dtí an MatrixTransform.

5. Athshannadh an MatrixTransform ais go dtí an Dronuilleog.

Chun tástáil air, Chuir mé dronuilleog agus cnaipe ar an scáileán. Nuair a bheidh mé cliceáil ar an gcnaipe, fhorghníomhú an loighic thuas agus bogann an dronuilleog láithreach.

Ag pointe éigin, Ba mhaith liom buíochas a bheochan seo, ach tá mé aon smaoineamh conas a fháil ar DoubleAnimation a bheith ag obair ar sé (Storyboard.SetTargetProperty() Is ar Mystery dom ar seo de thuras na huaire).

</deireadh>

undefinedLiostáil le mo bhlag.

Lean mé ar Twitter ag http://www.twitter.com/pagalvin

Socrú an Airde na ListboxItems I listbox programmatically le haghaidh Windows App Store

I’m working on a windows store application and one of the things I want to do in the app is display a log that shows status messages and other informational tidbits as the user works things. Chun na críche sin, Chuir mé listbox mar seo a leanas:

<Listbox x:Ainmnigh ="GameStateLog" HorizontalAlignment ="Ionad" Airde ="221" VerticalAlignment ="Barr" Width ="499" Stuála ="0" FontSize ="10">

 

An C # cód a populate an listbox ag runtime a bhí cosúil leis na:

GameStateLog.Items.Insert(0, GameStateCounter     + ": Stáit cluiche nua: ag fanacht le imreoir 1 ainm");

This worked out fine enough but the UI showed a crazy amount of padding around the individual messages as they were added. Sin a dhéanann ciall más mian liom úsáideoirí deiridh a bheith in ann a roghnú na míreanna seo ach ciall a bhaint as nuair is mian liom ach a thaispeáint sraith reáchtáil teachtaireachtaí loga - ní bheidh úsáideoirí a roghnú na, just view them. Bhí sé strangely deacair a fháil ar bhealach éasca é seo a dhéanamh agus arguably, the way I found it isn’t necessarily “easy” but I got it working OK. Tháinig an léargas eochair as an phost anseo (http://social.msdn.microsoft.com/Forums/en-US/wpf/thread/c4a6f694-bd46-4779-ab83-b1c2fcb2397c) from Bob Relyea. In ionad teaghráin cur leis an mbailiúchán Míreanna ar an listbox, add ListBoxItems. Trí chur ar shraith, the ListBox was creating its own ListBoxItem on its own. I wasn’t able to affect anything about that ListBoxItem after the fact. Tá an cód nua:

        príobháideach neamhní AddGameStateLogMessage(teaghrán theMessage)
        {
            ListBoxItem go = nua ListBoxItem();
            li.Content = theMessage;
            li.MaxHeight = 25;

            Tiús thisPadding = nua Tiús(5, 0, 5, 0);
            li.Padding = thisPadding;

            GameStateLog.Items.Insert(0,li);
        }

 

Here I’m creating ListBoxItem’s and inserting them. Bhaint mé an stuáil de bhreis ag leagan síos a tiús.

Tá sé seo go leor solúbtha agus is féidir liom a bhfuil sé ar intinn a dhéanamh ar roinnt dath códú a aird a tharraingt ar chineálacha áirithe teachtaireachtaí agus ag díreach ListBoxItems chur rachaidh mé chun iad a stíl ar bhealach ar bith is mian liom.

Tá súil Cuidíonn seo duine éigin!

</deireadh>

undefinedLiostáil le mo bhlag.

Lean mé ar Twitter ag http://www.twitter.com/pagalvin