FrameworkElement.Cursor Vlastnost
Definice
Důležité
Některé informace platí pro předběžně vydaný produkt, který se může zásadně změnit, než ho výrobce nebo autor vydá. Microsoft neposkytuje žádné záruky, výslovné ani předpokládané, týkající se zde uváděných informací.
Získá nebo nastaví kurzor, který se zobrazí, když je ukazatel myši nad tímto prvkem.
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
Hodnota vlastnosti
Kurzor, který se má zobrazit. Výchozí hodnota je definována podle null
této vlastnosti závislosti. Praktická výchozí hodnota za běhu však bude pocházet z různých faktorů.
Příklady
Následující příklad ukazuje, jak záměrně nastavit grafiku kurzoru.
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
Poznámky
Když nastavíte tuto vlastnost v XAML, procesor XAML spoléhá na převod typu pro Cursor třídu k vyhodnocení řetězce. Zadaný řetězec by se měl vyhodnotit na CursorType hodnotu. Podrobnosti viz Cursor.
Zda kurzor vytvořený touto vlastností se zobrazí nebo nebude zobrazovat, když je ukazatel myši nad tímto prvkem, je také závislá na hodnotě ForceCursor vlastnosti. Také aspekty související s událostmi, jako je aktivní přetažení, zachycení myši, režimy úprav textu v ovládacích prvcích atd., ovlivní také kurzor s vyšší prioritou, než je hodnota zadaná v této vlastnosti.
Pokud chcete vrátit chování nastavení této vlastnosti na konečnou výchozí hodnotu, nastavte ho znovu na null
hodnotu .
Výchozí null
hodnota ve skutečnosti znamená, že určení praktické hodnoty kurzoru je zde odloženo a mělo by být získáno odjinud. Pokud se zobrazí bez programových hodnot z jakéhokoli zdroje, výchozí kurzor, který je vizuálně nad aplikací Windows Presentation Foundation (WPF), bude šipka. Přechodné změny kurzoru však nejsou nastaveny Cursor na hodnoty prvků při jejich předání. Vlastnost Cursor bude hlásit hodnoty, které nejsou null, pouze v případech, kdy byla skutečně nastavena, například prostřednictvím kódu nebo stylu. Každý pohyb myši nad aplikací WPF vyvolá QueryCursor událost. Bubliny události a jakýkoli prvek podél trasy mají příležitost zpracovat událost a nastavit hodnotu kurzoru prostřednictvím argumentů této události. Toto je mechanismus, který ve většině případů vytváří vizuálně zjevný kurzor. Pokud obslužná QueryCursor rutina vrátí výsledek kurzoru, má skutečnost, že událost je zpracována a má změněnou hodnotu v argumentech, přednost před hodnotou Cursor vlastnosti na libovolné úrovni, pokud není ForceCursor nastavena.
Pokud nevytvoříte vlastní kurzor, obvykle nastavíte tuto vlastnost na statickou hodnotu Cursors vlastnosti třídy . Nastavení Cursor v kódu vyžaduje jednu z následujících možností:
Voláním konstruktoru Cursor získáte Cursor instanci. Oba podpisy konstruktoru Cursor používají streamy nebo soubory v očekávání, že vytváříte Cursor objekt pro vlastní kurzor.
CursorConverter Pomocí třídy a její ConvertFrom metody určete kurzor pomocí CursorTypenebo řetězec, který se může vyhodnotit na CursorType, a přetypujte návrat na Cursor.
Cursor Nastavení na vlastní hodnotu není povoleno v částečném vztahu důvěryhodnosti. Další informace o vlastních kurzorech najdete v tématu Přehled vstupu.
Informace o vlastnosti závislosti
Pole Identifikátor | CursorProperty |
Vlastnosti metadat nastavené na true |
Žádné |