Come abbiamo visto per altri contesti, come ad esempio i Behaviour, l'SDK di Expression Blend mette a disposizione una serie di librerie con le quali possiamo aggiungere una serie di funzionalità ai nostri progetti Silverlight.
Nell'assembly Microsoft.Expression.Drawing.dll, presente solitamente in
\Program Files (x86)\Microsoft SDKs\Expression\Blend\Silverlight\v4.0\Libraries\Microsoft.Expression.Drawing.dll, possiamo trovare il controllo Callout che ci permette di inserire vignette di diverse forme e ampiamente personalizzabili.
Dopo aver registrato, come di consueto, il namespace xml sullo schema "http://schemas.microsoft.com/expression/2010/drawing", l'utilizzo del controllo è estremamente semplice:
<UserControl x:Class="SilverlightItalia._128.MainPage" xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" xmlns:d="http://schemas.microsoft.com/expression/blend/2008" xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006" xmlns:ed="http://schemas.microsoft.com/expression/2010/drawing" mc:Ignorable="d"> <Grid x:Name="LayoutRoot" Background="White"> <ed:Callout AnchorPoint="0,1" CalloutStyle="Oval" FontSize="15" Stroke="#FF4395A5" Width="150" Height="70" Margin="11,13,0,0"> <ed:Callout.Fill> <LinearGradientBrush EndPoint="0.5,1" StartPoint="0.5,0"> <GradientStop Color="#FF53C7DD" Offset="0" /> <GradientStop Color="White" Offset="1" /> </LinearGradientBrush> </ed:Callout.Fill> <ContentControl> <TextBlock Text="Oval" /> </ContentControl> </ed:Callout>
CallOut è un CompositeContentShape, classe astratta che eredita a sua volta da ContentControl. Per questo motivo un CallOut può mostrare a video qualunque altro oggetto vogliamo.
Con la proprietà CalloutStyle possiamo scegliere le quattro forme predefinite: Oval, RoundedRectangle, Rectangle e Cloud.
Di seguito alcuni esempi:
Commenti
Per inserire un commento, devi avere un account.
Fai il login e torna a questa pagina, oppure registrati alla nostra community.
Approfondimenti
Generare token per autenicarsi sulle API di GitHub
Utilizzare la versione generica di EntityTypeConfiguration in Entity Framework Core
Migrare una service connection a workload identity federation in Azure DevOps
Eseguire un metodo asincrono dopo il set di una proprietà in Blazor 8
Eseguire una query su SQL Azure tramite un workflow di GitHub
Generare file per il download da Blazor WebAssembly
Esportare ed analizzare le issue di GitHub con la CLI e GraphQL
Utilizzare la session affinity con Azure Container Apps
Usare le collection expression per inizializzare una lista di oggetti in C#
Cambiare la chiave di partizionamento di Azure Cosmos DB
Effettuare chiamate con versioning da Blazor ad ASP.NET Core
Disabilitare automaticamente un workflow di GitHub (parte 2)
I più letti di oggi
- Aggiungere il metodo SelectMany alla classe Array in TypeScript
- Usare gateway dedicati con Azure Cosmos DB per migliorare le prestazioni
- Recuperare i Popup aperti in una Windows Store app
- AI&ML Conf 2020 - Online
- Preview 4 per ASP.NET MVC
- Speciale Windows Store app: costruire app con WinRT per Windows 8
- Microsoft Security Bulletin MS02-050
- Microsoft Security Bulletin MS04-033
- Attivare l'output caching su ASP.NET Web API
- Ottimizzare l'utilizzo di banda tramite ETag in ASP.NET Core Web API