用户在wpf中单击时创建UI元素

时间:2015-12-15 14:17:13

标签: c# wpf

我想要做的就是当用户点击“'矩形”时这样做。形状它会在盒子周围创建一个白色边框....

如果用户点击没有矩形的区域,则取消选择任何选定的矩形。我假设这可能需要对代码进行一些额外的更改,欢迎提出任何建议!

enter image description here

enter image description here

1 个答案:

答案 0 :(得分:1)

我找到了适合你的解决方案。如果这对您有用,请告诉我。如果不是,我会尝试修改它。这是基本的,但我认为并不难实现。

这是XAML。请注意,您必须自己完成矩形的所有定位。这只是选择和取消选择黑色边框。

<Grid Background="#00000000" MouseDown="Grid_MouseDown" >
        <Border Visibility="Hidden" x:Name="border" BorderBrush="Black" BorderThickness="1" Margin="230,135,142,58">

        </Border>

        <Rectangle x:Name="rect" Fill="Blue" MouseDown="Rectangle_MouseDown" Margin="250,148,160,74"/>
    </Grid>

这是背后的代码。

public partial class MainWindow : Window
    {
        public MainWindow()
        {
            InitializeComponent();
        }

       private void Rectangle_MouseDown(object sender, MouseButtonEventArgs e)
        {
            border.Visibility = Visibility.Visible;
        }

        private void Grid_MouseDown(object sender, MouseButtonEventArgs e)
        {
            if (e.MouseDevice.DirectlyOver == rect)
            {

            }
            else
            {
                border.Visibility = Visibility.Hidden;
            }
        }


    }