Ciao a tutti

 

a quanti di noi è capitato di voler vedere in un punto (tipo il magnifier di windows) ciò che è renderizzato in un altro punto?!??!

wpf ci offre un semplice metodo usando un VisualBrush, in pratica un Brush (riempimento) che non è altro se non l’output grafico di un altro controllo

Esempio:

image

 

In alto a sx abbiamo il vero pulsante, ed in mezzo un textblock che ha come background l’output del button

Ovviamente è possibile fare ogni tipo di combinazione che WPF ci mette a disposizione Sorriso

 

XAML:

<Window x:Class="WpfApplication1.MainWindow"
        xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
        xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
        Title="MainWindow" Height="350" Width="525">
    <Grid>
        <Button Content="Cliccami :D" HorizontalAlignment="Left" VerticalAlignment="Top" x:Name="button" />

        <TextBlock HorizontalAlignment="Center" VerticalAlignment="Center" Height="120" Width="440" >
            <TextBlock.Background>
                <VisualBrush Visual="{Binding ElementName=button}" Stretch="Fill" />
            </TextBlock.Background>
        </TextBlock>
    </Grid>
</Window>