@daniil14056

Почему MouseMove не срабатывает?

Рядом 10 проектов где работает, полностью все cтер, не работает?

По мере того как стирал все, заметил мистику, сначала MouseMove срабатывала раз в 1 секунду, удалил все, перестала срабатывать во все. Код полностью пустой. а теперь где вообще 2 строчки кода не срабатывает, кода нет смотреть не чего.
В чем прикол? Что тут такого. Почему не срабатывает? Типа вирус, или VisualStudio или компилятор?
<Window x:Class="WpfApp1.MainWindow"
        xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
        xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
        xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
        xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
        xmlns:local="clr-namespace:WpfApp1" 
        mc:Ignorable="d" 
        Title="MainWindow" Height="450" Width="800">
    <Grid>
        
        <Canvas x:Name="MainCanvas" Width="700" Height="400"  
              MouseLeftButtonDown="Canvas_MouseLeftButtonDown" 
                MouseMove="Canvas_MouseMove" MouseLeftButtonUp="Canvas_MouseLeftButtonUp"
                />
       
    </Grid>
</Window>

namespace WpfApp1
{
    /// <summary>
    /// Interaction logic for MainWindow.xaml
    /// </summary>
    public partial class MainWindow : Window
    {
        private Complex[] data;

        public MainWindow()
        {
            InitializeComponent();
           
            
             
        } 
        private bool isDrawing;
        private Line currentLine;
 
        private void Canvas_MouseLeftButtonDown(object sender, MouseButtonEventArgs e)
        {
            Console.WriteLine("butto вавпвапвап"); 
        }

        private void Canvas_MouseMove(object sender, MouseEventArgs e)
        {
// как сюда попасть. 
            MessageBox.Show("fgdg");
            Console.WriteLine(e.GetPosition(MainCanvas)); 
        }

        private void Canvas_MouseLeftButtonUp(object sender, MouseButtonEventArgs e)
        {
            Console.WriteLine("butto up");
            isDrawing = false;
        } 
    }
}
  • Вопрос задан
  • 93 просмотра
Решения вопроса 1
WNeZRoS
@WNeZRoS
У Canvas по умолчанию нет фона, соответственно курсору не за что зацепиться и MouseMove уходит окну. Если добавить для канваса Background="Transparent" (прозрачный цвет считается за фон, но визуально ничего не меняет), то всё будет работать.
Раньше работало видимо потому что в канвасе были визуально видимые элементы.
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы