FrameworkElement.Cursor Свойство
Определение
Важно!
Некоторые сведения относятся к предварительной версии продукта, в которую до выпуска могут быть внесены существенные изменения. Майкрософт не предоставляет никаких гарантий, явных или подразумеваемых, относительно приведенных здесь сведений.
Возвращает или задает курсор, отображающийся, когда указатель мыши находится над этим элементом.
public:
property System::Windows::Input::Cursor ^ Cursor { System::Windows::Input::Cursor ^ get(); void set(System::Windows::Input::Cursor ^ value); };
public System.Windows.Input.Cursor Cursor { get; set; }
member this.Cursor : System.Windows.Input.Cursor with get, set
Public Property Cursor As Cursor
Значение свойства
Отображаемый курсор. Значение по умолчанию определяется в соответствии с null этим свойством зависимостей. Однако практический по умолчанию во время выполнения будет исходить из различных факторов.
Примеры
В следующем примере показано, как намеренно задать графический элемент курсора.
private void CursorTypeChanged(object sender, SelectionChangedEventArgs e)
{
ComboBox source = e.Source as ComboBox;
if (source != null)
{
ComboBoxItem selectedCursor = source.SelectedItem as ComboBoxItem;
// Changing the cursor of the Border control
// by setting the Cursor property
switch (selectedCursor.Content.ToString())
{
case "AppStarting":
DisplayArea.Cursor = Cursors.AppStarting;
break;
case "ArrowCD":
DisplayArea.Cursor = Cursors.ArrowCD;
break;
case "Arrow":
DisplayArea.Cursor = Cursors.Arrow;
break;
case "Cross":
DisplayArea.Cursor = Cursors.Cross;
break;
case "HandCursor":
DisplayArea.Cursor = Cursors.Hand;
break;
case "Help":
DisplayArea.Cursor = Cursors.Help;
break;
case "IBeam":
DisplayArea.Cursor = Cursors.IBeam;
break;
case "No":
DisplayArea.Cursor = Cursors.No;
break;
case "None":
DisplayArea.Cursor = Cursors.None;
break;
case "Pen":
DisplayArea.Cursor = Cursors.Pen;
break;
case "ScrollSE":
DisplayArea.Cursor = Cursors.ScrollSE;
break;
case "ScrollWE":
DisplayArea.Cursor = Cursors.ScrollWE;
break;
case "SizeAll":
DisplayArea.Cursor = Cursors.SizeAll;
break;
case "SizeNESW":
DisplayArea.Cursor = Cursors.SizeNESW;
break;
case "SizeNS":
DisplayArea.Cursor = Cursors.SizeNS;
break;
case "SizeNWSE":
DisplayArea.Cursor = Cursors.SizeNWSE;
break;
case "SizeWE":
DisplayArea.Cursor = Cursors.SizeWE;
break;
case "UpArrow":
DisplayArea.Cursor = Cursors.UpArrow;
break;
case "WaitCursor":
DisplayArea.Cursor = Cursors.Wait;
break;
case "Custom":
DisplayArea.Cursor = CustomCursor;
break;
default:
break;
}
// If the cursor scope is set to the entire application
// Use OverrideCursor to force the cursor for all elements
if (!cursorScopeElementOnly)
{
Mouse.OverrideCursor = DisplayArea.Cursor;
}
}
}
' When the Radiobox changes, a new cursor type is set
Private Sub CursorTypeChanged(ByVal sender As Object, ByVal e As SelectionChangedEventArgs)
Dim item As String = CType(e.Source, ComboBox).SelectedItem.Content.ToString()
Select Case item
Case "AppStarting"
DisplayArea.Cursor = Cursors.AppStarting
Case "ArrowCD"
DisplayArea.Cursor = Cursors.ArrowCD
Case "Arrow"
DisplayArea.Cursor = Cursors.Arrow
Case "Cross"
DisplayArea.Cursor = Cursors.Cross
Case "HandCursor"
DisplayArea.Cursor = Cursors.Hand
Case "Help"
DisplayArea.Cursor = Cursors.Help
Case "IBeam"
DisplayArea.Cursor = Cursors.IBeam
Case "No"
DisplayArea.Cursor = Cursors.No
Case "None"
DisplayArea.Cursor = Cursors.None
Case "Pen"
DisplayArea.Cursor = Cursors.Pen
Case "ScrollSE"
DisplayArea.Cursor = Cursors.ScrollSE
Case "ScrollWE"
DisplayArea.Cursor = Cursors.ScrollWE
Case "SizeAll"
DisplayArea.Cursor = Cursors.SizeAll
Case "SizeNESW"
DisplayArea.Cursor = Cursors.SizeNESW
Case "SizeNS"
DisplayArea.Cursor = Cursors.SizeNS
Case "SizeNWSE"
DisplayArea.Cursor = Cursors.SizeNWSE
Case "SizeWE"
DisplayArea.Cursor = Cursors.SizeWE
Case "UpArrow"
DisplayArea.Cursor = Cursors.UpArrow
Case "WaitCursor"
DisplayArea.Cursor = Cursors.Wait
Case "Custom"
DisplayArea.Cursor = CustomCursor
End Select
' if the cursor scope is set to the entire application
' use OverrideCursor to force the cursor for all elements
If (cursorScopeElementOnly = False) Then
Mouse.OverrideCursor = DisplayArea.Cursor
End If
End Sub
Комментарии
При установке этого свойства в XAML обработчик XAML использует преобразование типов для класса для Cursor вычисления строки. Указанная строка должна иметь CursorType значение. Подробные сведения см. в разделе Cursor.
Указывает, будет ли курсор, установленный этим свойством, или не будет отображаться, когда указатель мыши находится над этим элементом, также зависит от значения ForceCursor свойства. Кроме того, такие вопросы, связанные с событиями, как активное перетаскивание, захват мыши, режимы редактирования текста в элементах управления и т. д., также влияют на курсор с более высоким приоритетом, чем указанное в этом свойстве значение.
Чтобы вернуть поведение настройки этого свойства в конечном итоге по умолчанию, задайте для null него значение еще раз.
Значение null по умолчанию действительно означает, что определение практического значения курсора откладывается здесь и должно быть получено из другого места. Если он отображается без программных значений из любого источника, курсор по умолчанию, визуальный элемент приложения Windows Presentation Foundation (WPF) будет стрелкой. Однако временные изменения курсора не задаются Cursor значениями элементов при передаче. Свойство Cursor будет сообщать только о значениях, отличных от NULL, в случаях, когда оно было установлено, например с помощью кода или стиля. Каждое перемещение мыши на приложение WPF вызывает QueryCursor событие. Пузырьки событий и любой элемент по маршруту имеет возможность обрабатывать событие и задавать значение курсора через аргументы этого события. Это механизм, который создает визуальный курсор в большинстве случаев.
QueryCursor Если обработчик возвращает результат курсора, то тот факт, что событие обрабатывается и имеет измененное значение в аргументах, имеет приоритет над значением Cursor свойства на любом уровне, если ForceCursor только не задано.
Если не создается настраиваемый курсор, обычно это свойство присваивает значение Cursors статического свойства класса. Для параметра Cursor в коде требуется одно из следующих действий.
Вызовите конструктор, Cursor чтобы получить Cursor экземпляр. Обе подписи Cursor конструктора используют потоки или файлы в ожидании создания Cursor объекта для пользовательского курсора.
CursorConverter Используйте класс и его ConvertFrom метод, чтобы указать курсор по CursorTypeили строке, которая может вычислить CursorTypeзначение , и приведение возвращаемого значенияCursor.
Cursor Настройка настраиваемого значения не включена в частичном доверии. Дополнительные сведения о пользовательских курсорах см. в разделе "Общие сведения о входных данных".
Сведения о свойстве зависимостей
| Элемент | Ценность |
|---|---|
| Поле идентификатора | CursorProperty |
Свойства метаданных, равные свойству true |
Нет |