2012-06-18 11 views
6

Sto cercando di ottenere un effetto di sovrapposizione del limite della finestra principale con un controllo. È difficile spiegarlo a parole, forse è anche per questo che ho difficoltà a trovare informazioni su come farlo o se è addirittura possibile.Visualizzazione del contenuto wpf sopra/fuori i limiti della finestra principale

Di seguito è riportato un esempio dell'effetto che sto cercando di ottenere (dal designer), dove gli oggetti "note" galleggiano fuori dai limiti della finestra principale.

Example 1

Tuttavia l'effetto che ottengo in fase di esecuzione è questo (sotto), i controlli interni vengono ritagliati dal limite della finestra principale.

Example 2

Qualcuno può dirmi se questo è possibile (o non), e se è forse alcuni suggerimenti su come avrei potuto ottenere questo effetto.

+1

hai pensato di usare un 'Popup'? –

+0

Grazie, penso che il controllo Popup sia la strada da percorrere –

risposta

1

Non penso che ci sia un modo per disegnare fuori dai limiti di una finestra. Tuttavia, potresti semplicemente creare una nuova finestra per il controllo della nota e allinearla alla tua finestra principale.

+0

L'altra risposta sembra negare questo. – ANeves

+0

Il controllo Popup crea effettivamente una nuova finestra internamente, come suggerito nella risposta. – Michael

+0

Questo è vero. Forse potresti ampliare la tua risposta con una breve spiegazione su come l'uso di un popup creerà allo stesso modo una nuova finestra. – ANeves

2

Il contenuto della finestra verrà sempre tagliato. Quindi in pratica c'è solo un modo per andare qui. È possibile ottenere l'effetto desiderato creando una nuova finestra trasparente per il contenuto mobile e quindi manualmente impostare e aggiornare la posizione della finestra di contenuto mobile in base alla posizione della finestra principale.

Finora ho utilizzato AvalonDock per funzionalità simili. Si potrebbe fare un tentativo ...

5
Ci

è un controllo che può raggiungere questo tipo di comportamento averti provare un Popup controllo
controllo questo fuori http://msdn.microsoft.com/en-us/library/bb613596(v=vs.110).aspx

Ho un esempio in tal senso

<Window x:Class="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> 
    <ToggleButton x:Name="MainButton" Content="Show popup" VerticalAlignment="Top" HorizontalAlignment="Right"/> 
    <Popup PlacementTarget="{Binding ElementName=MainButton}" Placement="Bottom" AllowsTransparency="True" IsOpen="{Binding ElementName=MainButton, Path=IsChecked}"> 
     <Grid> 
      <Border BorderBrush="Orange" BorderThickness="1" Background="Yellow"/> 
      <TextBlock Text="Lorem Ipsum is simply dummy text of the printing and typesetting industry"/> 
     </Grid>    
    </Popup> 
</Grid> 

Problemi correlati