Archivio Categoria: .net - Pagina 3

UWP: Controllare il tema utilizzato dal sistema nelle nostre applicazioni

In alcune situazioni può essere utile fare delle piccole modifiche in base al tema chiaro o scuro che il sistema stà utilizzando.

Il framework per facilitarci il compito espone già la proprietà RequestedTheme nella classe Application che ritorna un oggetto ApplicationTheme per il tema selezionato.

Per controllarlo ci basterà fare

if(Application.Current.RequestedTheme == ApplicationTheme.Light)

oppure

if(Application.Current.RequestedTheme == ApplicationTheme.Dark)

in base alle nostre esigenze

E’ utile sempre ricordare che le applicazioni vanno sempre testate con entrambi i tempi per essere sicuri che scritte ed immagini siano sempre visibili

Potete trovare un progetto di esempio sul mio repository GitHub

Rendere scrollabile il contenuto di una ContentDialog nelle UA e UWP

Il mio primo post pubblicato sul wiki TechNet

http://social.technet.microsoft.com/wiki/contents/articles/33541.rendere-scrollabile-il-contenuto-di-una-contentdialog-nelle-ua-e-uwp-it-it.aspx

Evitare che la nostra applicazione funzioni su continuum

Continuum è una delle funzioni più interessanti pra quelle inserite in windows 10 per mobile, e di default permette di far girare qualsiasi applicazione sviluppata con la tecnologia delle UWP.

Se però per qualche ragione vogliamo evitare che la nostra app possa essere lanciata sul monitor collegato basta inserire qualche riga nel nostro package.appxmanifest

no_continuum.

Dovremo anche aggiungere al progetto il riferimento all’estensione per Windows Mobile

estensioneWindowsMobile

È inutile aggiungere che escludere il funzionamento in continuum delle nostre app è una pratica sconsigliata, in quanto gli utilizzatori potrebbero non comprenderne la motivazione e ripagarvi con commenti negativi ma se proprio volete farlo adesso sapete come 😀

Continuum cosè e come sfruttarlo al meglio

Grazie agli amici della Microsoft ecco il mio secondo post pubblicato sul blog msdn italiano 😀

http://blogs.msdn.com/b/italy/archive/2016/02/03/guest-post-continuum-cos-232-e-come-sfruttarlo-al-meglio.aspx

UWP: Come dare un’occhiata a tutte le impostazioni dello stile di default

Per poter modificare lo stile di un elemento di una UWP è risaputo che da Visual Studio oppure da Blend basta premere il tasto destro un elemento e quindi generare una copia del template.

Quello che forse è meno conosciuto è il fatto che è possibile avere accesso in modo veloce allo stile di tutti gli elementi e a tutte le risorse.

Basta recarsi nella cartella

C:\Program Files (x86)\Windows Kits\10\DesignTime\CommonConfiguration\Neutral\UAP

dove troveremo varie sottocartelle in base alle versioni dell’SDK che abbiamo installato, nel nostro caso c’è solo la cartella 10.0.10240.0. All’interno di essa c’è poi un’altra cartella Generic al cui interno troveremo i file che ci interessano

uwp_res

All’interno di essi abbiamo tutti gli stili che possiamo copiare all’interno della nostra applicazione e modificare per dare alla nostra app il tocco grafico che vogliamo.

Buon divertimento 😀

Elementi annidati in collezioni di dati, come ottenere l’oggetto in binding

Piccola premessa, prima di leggere questo articolo bisogna sapere cosa è il binding, per un breve ripasso vi consiglio il blog del mio amico Luca

Adesso che sapete di cosa stiamo parlando potete proseguire con la lettura 😀

Molti di voi avranno già utilizzato il DataContext per ottenere l’oggetto della lista selezionato in seguito agli eventi SelectionChanged o ItemClick in elementi di tipo ListView o GridView con un metodo molto simile al seguente

private void listViewComments_ItemClick(object sender, ItemClickEventArgs e)
{
   MioOggetto o=(MioOggetto)e.ClickedItem;
}

Quello che forse non tutti sanno è che la proprietà DataContext può tornarci utile anche nel momento in cui ci troviamo di fronte ad eventi generati da oggetti annidati all’interno di liste.

Prendiamo il semplice caso di una lista con una serie di link all’interno che permettono all’utente di eseguire un’azione:

<ListView Grid.Row="1" x:Name="listViewComments" ItemsSource="{Binding}">              
    <ListView.ItemTemplate>
        <DataTemplate>
            <StackPanel Orientation="Horizontal">
            <HyperlinkButton Tag="{Binding ID}" Margin="0,0,10,0" x:Name="spamLink" Click="commentSpam_Click" Style="{StaticResource PivotTitleContentControlStyle}">
                <TextBlock>
                  <Underline>
                    <Run Text="{Binding status}"/>
                  </Underline>
                </TextBlock>
            </HyperlinkButton>
            <HyperlinkButton x:Name="ApproveLink" Click="commentApprove_Click" Style="{StaticResource PivotTitleContentControlStyle}">
                <TextBlock>
                  <Underline>
                    <Run Text="{Binding status2}"/>
                  </Underline>
                </TextBlock>
            </HyperlinkButton>
            </StackPanel>
        </DataTemplate>
    </ListView.ItemTemplate>
</ListView>

Nel click potremo molto semplicemente ottenere il nostro elemento bindato castando il sender dell’evento alla sua classe originale e poi accedendo alla proprietà DataContext

 private async void commentSpam_Click(object sender, RoutedEventArgs e){
   
    MioOggetto c = (MioOggetto)((HyperlinkButton)sender).DataContext;
    
}

In questo modo non ci sarò necessità ti portarsi dietro eventuali id bindati con la proprieta Tag per poter risalire all’elemento selezionato.

Se questo tips vi è stato utile lasciate pure un commento 😀

Utilizzando il sito, accetti l'utilizzo dei cookie da parte nostra. maggiori informazioni

Questo sito utilizza i cookie per fonire la migliore esperienza di navigazione possibile. Continuando a utilizzare questo sito senza modificare le impostazioni dei cookie o clicchi su "Accetta" permetti al loro utilizzo.

Chiudi