Как изменить форму курсора мыши для всего холста? - PullRequest
2 голосов
/ 11 сентября 2010

У меня есть окно WPF с несколькими текстовыми полями, кнопками и холстом, где я рисую график. Мне бы хотелось, чтобы курсор был наведен на холст, потому что таким образом пользователь мог бы указать интересную область более «научным» способом: -)

Как ни странно, когда я устанавливаю курсор для пересечения для холста, он все равно остается стандартной стрелкой, но когда мышь находится над любой линией или полилинией, которую я нарисовал на холсте, она пересекается.

Так как установить курсор на весь холст (включая «пустое» пространство, где ничего не нарисовано)?

1 Ответ

2 голосов
/ 12 сентября 2010

Чтобы изменить форму курсора мыши для всего холста, добавьте прозрачный фон на холст.

Вот пример:

<Canvas Grid.Row="2" Background="Transparent">
   <Polyline Points="25,25 0,50 25,75 50,50 25,25 25,0" 
             Stroke="Blue" StrokeThickness="10"
             Canvas.Left="75" Canvas.Top="50">
      <Polyline.RenderTransform>
          <RotateTransform CenterX="0" CenterY="0" Angle="45" />
      </Polyline.RenderTransform>
   </Polyline>
   <Canvas.Style>
       <Style TargetType="{x:Type Canvas}">
          <Style.Triggers>
              <Trigger Property="IsMouseOver" Value="True" >
                <Setter Property="Cursor" Value="Cross" />
              </Trigger>
          </Style.Triggers>
        </Style>
   </Canvas.Style>
</Canvas>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...