首页 > 解决方案 > 如何在 Visual Studio wpf 编辑器中获得(选定的)控件突出显示

问题描述

视觉工作室:

这是在 Visual Studio 中

我试图突出显示一个控件,因为它是在 Visual Studio xaml 编辑器中完成的。我试图通过在所选控件上构建另一个控件(荧光笔控件)来做到这一点。但如果选定控件的父级旋转,这将不起作用。

矿:

在此处输入图像描述

    <Canvas x:Name="parent" Margin="0,0,2,-3" ClipToBounds="True" Background="#FF003AFF">
        <Grid x:Name="highlighter" Height="90" Width="128" MouseUp="mu_MouseUp" 
              MouseMove="Drase_MouseMove" Canvas.Left="30" Canvas.Top="45" Cursor="Arrow">
            <Border  x:Name="muhhh" Height="{Binding ActualHeight, ElementName=highlighter, Mode=OneWay}"
                     Width="{Binding ActualWidth, ElementName=mu, Mode=OneWay}" 
                     VerticalAlignment="Top" BorderBrush="#FFFF0C6F" Background="{x:Null}"
                     BorderThickness="1" Cursor="Arrow" />

        </Grid>
        <Canvas x:Name="selecteble1" Height="210" Width="485" Canvas.Left="50" Canvas.Top="205"
                Background="#FF09E4DA" MouseDown="selecteble1_MouseDown" 
                MouseLeftButtonDown="selecteble1_MouseLeftButtonDown"
                MouseLeftButtonUp="selecteble1_MouseLeftButtonUp" MouseMove="selecteble1_MouseMove">
            <Canvas x:Name="selecteble2" Height="135" Width="140" Canvas.Left="230"
                    Canvas.Top="35" Background="#FF0D302F" MouseDown="selecteble1_MouseDown" 
                    MouseLeftButtonDown="selecteble1_MouseLeftButtonDown" 
                    MouseLeftButtonUp="selecteble1_MouseLeftButtonUp" MouseMove="selecteble1_MouseMove"/>
        </Canvas>
    </Canvas>
    private void posi(Canvas selection)
        {
            Canvas parent = highlighter.Parent as Canvas;

            highlighter.Width = selection.ActualWidth;
            highlighter.Height = selection.ActualHeight;
            Point p = selection.TransformToAncestor(parent).Transform(new Point(0, 0));
            Canvas.SetLeft(mu, p.X);
            Canvas.SetTop(mu, p.Y);
            highlighter.RenderTransform = selection.RenderTransform;
        }

//mouse event on selecteble1 and selecteble1 posi is called

旋转:

在此处输入图像描述 在此处输入图像描述

顺便说一句highlighter.RenderTransform = "selection.parent".RenderTransform;,这是行不通的,因为选择也是可旋转的。所以,如果有更好的方法可以做到这一点,如果你能帮助我完成它,我将非常感激。

标签: c#wpfselectwpf-controlshighlight

解决方案


推荐阅读