In UWP versuche ich Standardvorlage von Tooltip zu ändern.C# uwp Templatebinding und Abhängigkeitseigenschaft
Ich habe es geschafft, aber jetzt muss ich Tooltip Pfeil auf das Steuerelement, das gehört zu zeigen.
Mein Stil ist wie folgt definiert:
<Style TargetType="ToolTip">
<Setter Property="Foreground" Value="White" />
<Setter Property="Background" Value="{ThemeResource SystemControlBackgroundChromeMediumLowBrush}" />
<Setter Property="BorderBrush" Value="{ThemeResource SystemControlForegroundChromeHighBrush}" />
<Setter Property="BorderThickness" Value="{ThemeResource ToolTipBorderThemeThickness}" />
<Setter Property="FontFamily" Value="Roboto" />
<Setter Property="FontSize" Value="{ThemeResource ToolTipContentThemeFontSize}" />
<Setter Property="Padding" Value="40,40,40,35"/>
<Setter Property="Template">
<Setter.Value>
<ControlTemplate TargetType="ToolTip">
<Grid Background="Transparent">
<Grid
MinWidth="100"
MinHeight="90"
Height="{TemplateBinding Height}"
Width="{TemplateBinding Width}"
Padding="15"
Background="Transparent">
Und so weiter und weiter ...
Aber jetzt versuche ich, Usercontrol bindet mit Template Eigenschaft zu machen.
Ich habe UserControl erstellt, die einige Abhängigkeiten besitzen. So:
public PlacementMode TooltipPlacement
{
get { return (PlacementMode)GetValue(TooltipPlacementProperty); }
set { SetValue(TooltipPlacementProperty, value); CalculateArrowVisibility(); }
}
public static readonly DependencyProperty TooltipPlacementProperty =
DependencyProperty.Register("TooltipPlacement", typeof(PlacementMode), typeof(ArrowDown), null);
CalculateArrowVisibility() ist eine Methode, die den Pfeil Lage je nach TooltipPlacement berechnen wird.
Und dass die Kontrolle in der Art, wie diese definiert ist:
<local:ArrowDown x:Name="arrow" TooltipPlacement="{TemplateBinding Placement}"/>
Aber es ist nicht gebunden, habe ich andere TemplateProperties versucht, aber auch kein Glück.
Wo ist das Problem hier?
Was 'Content' ist in' TooltipPlacement = "{Template Inhalt}" '? –
Ich habe einen Fehler beim Kopieren-Einfügen ... es sollte sein: –
user3239349
Was ist 'SetValue()' in 'set {SetValue (TooltipPlacementProperty, Wert); SetValue(); } '? Ist es eine Funktionsüberlastung, um eine andere Operation auszuführen? –