小编use*_*669的帖子

在WPF中缩放孩子

我有一个由滑块Grid缩放/缩放ScaleTransform的。在运行时,许多UIElement被添加到此Grid

我想显示一些工具提示,但没有扩展!我应该怎么做?

例如:Grid具有scaleX和scaleY 2,因此我设置了新的ScaleTransform(0.5,0.5),但没有帮助。似乎最相似的值是0.740。为什么?甚至Grid的LayoutTransform.Inverse都将缩放比例值设置为0.5。

XAML:

<ScrollViewer HorizontalScrollBarVisibility="Auto" VerticalScrollBarVisibility="Auto" Height="Auto" Width="Auto" Name="graphScrollViewer" ScrollChanged="graphScrollViewer_ScrollChanged">
<Grid Margin="0,0,0,0" Name="graphGrid" Width="Auto" Height="Auto" ScrollViewer.IsDeferredScrollingEnabled="True"  MouseLeftButtonDown="graphGrid_MouseLeftButtonDown" MouseLeftButtonUp="graphGrid_MouseLeftButtonUp" MouseMove="graphGrid_MouseMove">
    <Grid.LayoutTransform>
        <ScaleTransform ScaleX="{Binding ElementName=sldZoom, Path=Value}" ScaleY="{Binding ElementName=sldZoom, Path=Value}" />
    </Grid.LayoutTransform>
</Grid>
</ScrollViewer>

<Slider Minimum="0.1" Maximum="20" Value="1" x:Name="sldZoom" Panel.ZIndex="10" Orientation="Horizontal" VerticalAlignment="Bottom" HorizontalAlignment="Right" Margin="0,0,20,20" Height="23" Width="100"  ValueChanged="sldZoom_ValueChanged"/>  
Run Code Online (Sandbox Code Playgroud)

后台代码:(将Rectangle方法(MouseEnter事件)动态添加到网格)

private void rect_MouseEnter(object sender, MouseEventArgs e)
{
    RectToolTip = new TextBlock();
    RectToolTip.HorizontalAlignment = HorizontalAlignment.Left;
    RectToolTip.VerticalAlignment = VerticalAlignment.Top;
    RectToolTip.TextAlignment = TextAlignment.Center;
    RectToolTip.Height = this.HeaderTwoHeight …
Run Code Online (Sandbox Code Playgroud)

c# wpf scaling transform scale

1
推荐指数
1
解决办法
1657
查看次数

标签 统计

c# ×1

scale ×1

scaling ×1

transform ×1

wpf ×1