WPF:如何在Excel复制模式下绘制矩形?

时间:2013-03-03 17:02:03

标签: wpf excel

在Excel中,当您按Ctrl + C时,当前单元格被一个看起来像一条虚线的矩形包围。关于如何在WPF中制作它的任何提示?

1 个答案:

答案 0 :(得分:4)

您所寻找的通常被称为“Marching Ants Border”。 WPF已经有一些实现。

以下是Patric Johansson's bloganother from codeproject

中的一个

从CodeProject添加了主要代码以供将来参考:

<Window.Resources>
    <Storyboard x:Key="MarchingAnts">
        <DoubleAnimationUsingKeyFrames BeginTime="00:00:00" 
                           Storyboard.TargetName="rectangle" 
                           Storyboard.TargetProperty="(Shape.StrokeDashOffset)" 
                           RepeatBehavior="Forever">
            <SplineDoubleKeyFrame KeyTime="00:00:00" Value="0"/>
            <SplineDoubleKeyFrame KeyTime="00:00:00.5000000"
                           Value="10"/>
        </DoubleAnimationUsingKeyFrames>
    </Storyboard>
</Window.Resources>
<Window.Triggers>
    <EventTrigger RoutedEvent="FrameworkElement.Loaded">
        <BeginStoryboard Storyboard="{StaticResource MarchingAnts}"/>
    </EventTrigger>
</Window.Triggers>

<Grid x:Name="LayoutRoot">
    <Canvas x:Name="canvas" Background="#FF262626">
        <Rectangle Fill="#14FFFFFF" StrokeDashArray="5" 
            Stroke="#FFFFFFFF" 
            x:Name="rectangle" Width="50" Height="50" 
            StrokeDashOffset="0" StrokeThickness="1" 
            RadiusX="0" RadiusY="0"
            Canvas.Left="0" Canvas.Top="0"/>
        <TextBlock Width="Auto" Height="Auto" 
            FontFamily="Century Gothic" 
            FontSize="48" Foreground="#FF5B5B5B" 
            Text="MARCHING ANTS" TextWrapping="Wrap" 
            Canvas.Top="182" Canvas.Left="79"/>
    </Canvas>
</Grid>