Sto provando a posizionare il mio suggerimento in modo che si trovi sul fondo e al centro del mio oggetto target. Posso posizionarlo in fondo a ToolTipService.Postion="Bottom"
, ma come posizionarlo anche al centro?Come posizionare il tooltip in basso al centro
8
A
risposta
15
Sono d'accordo, le opzioni disponibili per il posizionamento di ToolTip
sono un po 'limitate. Penso che dovrai combinare Placement="Bottom"
con HorizontalOffset
per ottenere il posizionamento Bottom/Center.
al centro della ToolTip
relativo al PlacementTarget
è possibile utilizzare
(PlacementTarget.ActualWidth/2.0) - (ToolTip.ActualWidth/2.0)
Esempio
<Button Content="Test">
<Button.ToolTip>
<ToolTip Content="ToolTip Text"
Placement="Bottom">
<ToolTip.HorizontalOffset>
<MultiBinding Converter="{StaticResource CenterToolTipConverter}">
<Binding RelativeSource="{RelativeSource Self}" Path="PlacementTarget.ActualWidth"/>
<Binding RelativeSource="{RelativeSource Self}" Path="ActualWidth"/>
</MultiBinding>
</ToolTip.HorizontalOffset>
</ToolTip>
</Button.ToolTip>
</Button>
CenterToolTipConverter
public class CenterToolTipConverter : IMultiValueConverter
{
public object Convert(object[] values, Type targetType, object parameter, CultureInfo culture)
{
if (values.FirstOrDefault(v => v == DependencyProperty.UnsetValue) != null)
{
return double.NaN;
}
double placementTargetWidth = (double)values[0];
double toolTipWidth = (double)values[1];
return (placementTargetWidth/2.0) - (toolTipWidth/2.0);
}
public object[] ConvertBack(object value, Type[] targetTypes, object parameter, CultureInfo culture)
{
throw new NotSupportedException();
}
}
Se hai bisogno di centrare più di ToolTips
potresti usare uno Style
come
<Style x:Key="centeredToolTip" TargetType="ToolTip">
<Setter Property="HorizontalOffset">
<Setter.Value>
<MultiBinding Converter="{StaticResource CenterToolTipConverter}">
<Binding RelativeSource="{RelativeSource Self}" Path="PlacementTarget.ActualWidth"/>
<Binding RelativeSource="{RelativeSource Self}" Path="ActualWidth"/>
</MultiBinding>
</Setter.Value>
</Setter>
</Style>
<!-- ... -->
<Button Content="Test">
<Button.ToolTip>
<ToolTip Style="{StaticResource centeredToolTip}"
Placement="Bottom"
Content="ToolTip Text"/>
</Button.ToolTip>
</Button>
Problemi correlati
- 1. Come posizionare div al centro dello schermo?
- 2. come posizionare una vista in basso e al centro del layout della pagina Android?
- 3. Come posizionare il testo al centro di un percorso svg
- 4. Come posizionare l'immagine al centro/al centro sia verticalmente che orizzontalmente
- 5. Come posizionare UILabel al centro della barra di navigazione
- 6. Come posso posizionare una pagina web al centro dello schermo?
- 7. Come si aggiunge del testo in basso al centro della legenda e in basso al centro del grafico sotto la legenda?
- 8. Pulsante Android Posiziona l'immagine al centro e il testo in basso
- 9. WPF ToolTip scompare con il mouse verso il basso
- 10. CSS: come posizionare l'elemento in basso a destra?
- 11. Bootstrap: Come posizionare il pulsante accanto al gruppo di input
- 12. Centro al centro dello schermo
- 13. Disegna il testo al centro
- 14. Come posizionare il div in cima al div ruotato reattivo?
- 15. come posizionare il testo e il centro in un rettangolo SVG
- 16. Come posizionare un elemento div al centro della schermata ACTUAL? (JQuery)
- 17. Come posizionare un modulo di immissione al centro di una pagina?
- 18. Come impostare l'immagine al centro in FrameLayout
- 19. Android: come si posizionano le viste in un offset rispetto al centro/alto/basso (ecc.) Del genitore?
- 20. Sfondo video HTML5, mantenere il centro del video al centro
- 21. come allineare il testo verticalmente al centro in Android
- 22. Come allineare il testo al centro in etichetta asp
- 23. centro h1 al centro dello schermo
- 24. UILabel Allinea il testo al centro
- 25. UITextField il testo non appare al centro
- 26. Allineare il paragrafo al centro della pagina
- 27. Ruota il rettangolo attorno al suo centro
- 28. C'è un modo per posizionare un'immagine di sfondo rispetto al centro di un elemento?
- 29. Allinea il tavolo al centro della pagina
- 30. Posizione icona verticalmente al centro nel div