Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/azure/13.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
缩放WPF形状_Wpf_Scale_Shapes - Fatal编程技术网

缩放WPF形状

缩放WPF形状,wpf,scale,shapes,Wpf,Scale,Shapes,我有基于东距和北距的几何点,最小值/最大值分别为(794975823750)和(74844257516450) 我想在WPF窗口上的这些值之间画出不同的点 如何在这些范围内绘制几何点,而不使其超出屏幕大小 我正在使用以下XAML <ItemsControl ItemsSource="{Binding DrillholePoints}" BorderBrush="Black" BorderThickness="2"> &l

我有基于东距和北距的几何点,最小值/最大值分别为(794975823750)和(74844257516450)

我想在WPF窗口上的这些值之间画出不同的点

如何在这些范围内绘制几何点,而不使其超出屏幕大小

我正在使用以下XAML

<ItemsControl ItemsSource="{Binding DrillholePoints}"
              BorderBrush="Black"
              BorderThickness="2">
    <ItemsControl.ItemsPanel>
        <ItemsPanelTemplate>
            <Canvas />
        </ItemsPanelTemplate>
    </ItemsControl.ItemsPanel>
    <ItemsControl.ItemTemplate>
        <DataTemplate>
            <Path Data="{Binding ellipse}"
                  Stroke="Blue"
                  StrokeThickness="2" />
        </DataTemplate>
    </ItemsControl.ItemTemplate>
</ItemsControl>


您的问题内容似乎与标题不匹配。要缩放,我会将所有内容都放在一个视图框中。这就是我们游戏中地图的工作原理。为了确保一切都合适,我将计算出地图的边界转换为点。因此,画布的左边界是x=0,但东距是n。右边界是东距z等。然后确保不越过它们。为了缩放形状而不缩放其笔划厚度,请使用指定给其数据属性的几何体的变换属性,例如,您的
椭圆
视图模型属性在此处。您需要绑定itemcontainer canvas.left和canvas.top以定位每个点。如果希望点以已知点为中心,则默认情况下路径的工作方式是在该点绘制左上边界。然而,一个椭圆椭圆仪将以该点为中心,其形状大概就是一个椭圆或圆点。我不明白你为什么特别想扩大规模。如果地图应该缩放,你可以将其作为画布的背景,并将其均匀拉伸。根据有效比例计算位置。椭圆将是独立的对象,并且总是相同的大小。也许我不清楚我的问题,我使用了不正确的术语。我有多个点,我想在WPF中显示它们。这些点符合指定的范围。很像地图,但我不想使用地图,因为这些信息将在脱机时使用,而且地图速度很慢。我希望能够根据地图缩小,但不需要地图开销。