2016-04-18 3 views
0

У меня есть несколько эллипсов, которые я динамически генерирую следующим образом в файле cs при нажатии кнопки. Проблема заключается в том, что когда я нажимаю на любые эллипсы, цвет границы становится синим, как показано на рисунке. Как я могу удалить синий фон, пожалуйста, помогите.wpf эллипс удалить синюю границу при нажатии

enter image description here

private void btn1_Click(object sender, RoutedEventArgs e) 
     { 
      imgBrush.ImageSource = new BitmapImage(new Uri(@"pack://application:,,,/AthenaIsolatedFeatures;component/Widget/Pointers/top.png", UriKind.RelativeOrAbsolute)); 
      imgBrush.Stretch = Stretch.Fill; 
      ele.Fill = imgBrush; 
      lstBox.Items.Clear(); 
      CircularPanel.AngleRadians((sender as Button).Name); 
      for (int i = 0; i < 4; i++) //Assuming 3 images to be created 
      { 
       ImageBrush brush = new ImageBrush(); 
       brush.ImageSource = new BitmapImage(new Uri(@"pack://application:,,,/AthenaIsolatedFeatures;component/Widget/SubImages/Target" + (i + 1) + ".png", UriKind.RelativeOrAbsolute)); 
       Ellipse ellipse = new Ellipse() 
       { 
        Name = "Target" + i.ToString(), 
        Height = 70, 
        Width = 70, 
        Stroke = new SolidColorBrush(Colors.Black), 
        StrokeThickness = 1, 

       }; 

       ellipse.Fill = brush; 
       ellipse.MouseLeftButtonDown += Ellipse_MouseLeftButtonDown1; 
       lstBox.Items.Add(ellipse); 
      } 
     } 

Теперь, когда каждый динамически генерируемые эллипсы щелкнул Я хочу сделать что-то

private void Ellipse_MouseLeftButtonDown1(object sender, MouseButtonEventArgs e) 
     { 

      //Do something 
     } 

ответ

0

Для мыши, вместо

ellipse.MouseLeftButtonDown += Ellipse_MouseLeftButtonDown1; 

вы можете попробовать

e.MouseLeftButtonDown += Ellipse_MouseLeftButtonDown1; 

И для фона, вы можете попробовать в коде XAML

<Ellipse Width="50" Height="50" Stroke="Blue" StrokeThickness="10" Fill="Transparent"></Ellipse> 

Надеется, что это помогает.

+0

Проблема в том, что если вы видите мой код, я делаю что-то вроде Ellipse e = new Ellipse() в коде позади. Чтобы удалить этот синий фон, мне нужно применить и вызвать некоторый стиль для эллипса. Если я скажу e.Fill = Brushes.Transparent, тогда содержимое эллипса удаляется. Я до сих пор не знаю, как поможет ваш xaml. – nikhil

+0

У меня нет xaml для эллипса. Я динамически генерирую его. – nikhil

+0

Но см. Мой цикл for. Я хочу генерировать 4 эллипса одновременно, и содержимое необходимо изменить для каждого из них. Если я сделаю это в xaml, я смогу создать только 1. – nikhil

Смежные вопросы