툴팁이 영향을받지 않는 이유는 툴팁이 윈도우의 시각적 트리의 일부가 아닌 팝업이기 때문입니다. 따라서 창의 구성 요소에 대해 수행 된 모든 레이아웃 변환은 툴팁으로 이어지지 않습니다. I가 scaleX가/Y가
<Window.Resources>
<Style TargetType="ToolTip">
<Setter Property="Template">
<Setter.Value>
<ControlTemplate TargetType="{x:Type ToolTip}">
<Border x:Name="Border" BorderBrush="{TemplateBinding BorderBrush}" BorderThickness="{TemplateBinding BorderThickness}" Background="{TemplateBinding Background}" SnapsToDevicePixels="True">
<Border.LayoutTransform>
<ScaleTransform ScaleX="{Binding ScaleFactor}"></ScaleTransform>
</Border.LayoutTransform>
<ContentPresenter ContentTemplate="{TemplateBinding ContentTemplate}" Content="{TemplateBinding Content}" ContentStringFormat="{TemplateBinding ContentStringFormat}" HorizontalAlignment="{TemplateBinding HorizontalContentAlignment}" Margin="{TemplateBinding Padding}" SnapsToDevicePixels="{TemplateBinding SnapsToDevicePixels}" VerticalAlignment="{TemplateBinding VerticalContentAlignment}"/>
</Border>
</ControlTemplate>
</Setter.Value>
</Setter>
</Style>
</Window.Resources>
<StackPanel x:Name="MainPanel">
<StackPanel.LayoutTransform>
<ScaleTransform ScaleX="{Binding ScaleFactor}" ScaleY="{Binding ScaleFactor}"></ScaleTransform>
</StackPanel.LayoutTransform>
<TextBlock ToolTip="blah">haha!</TextBlock>
</StackPanel>
예에서 : 당신은 대부분 일반적인 툴팁이있는 경우 (텍스트는 기본적으로), 당신은 당신의 윈도우 자원이 아닌 키 입력 스타일을 만들 수 있으며, WPF는 자동으로 모든 툴팁에 그 적용됩니다 툴팁은 내 윈도우의 뷰 모델에서 ScaleFactor 속성에 바인딩됩니다. 내가 믿는 것처럼 당신은 그것을 역동적으로 유지할 수있다.
스케일 팩터는 동적입니까? 그렇다면 그들은 어디에서 왔는가? – Rowbear
그들은 존재하지만 코드를 단순화하여 더 이상 존재하지 않게되었습니다. 내 XAML에서 이것을 사용하고 있습니다. –
Warpin