FrameworkElement.Cursor Properti
Definisi
Penting
Beberapa informasi terkait produk prarilis yang dapat diubah secara signifikan sebelum dirilis. Microsoft tidak memberikan jaminan, tersirat maupun tersurat, sehubungan dengan informasi yang diberikan di sini.
Mendapatkan atau mengatur kursor yang ditampilkan saat penunjuk mouse berada di atas elemen ini.
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
Nilai Properti
Kursor yang akan ditampilkan. Nilai default didefinisikan sesuai null
properti dependensi ini. Namun, default praktis pada durasi akan berasal dari berbagai faktor.
Contoh
Contoh berikut menunjukkan cara dengan sengaja mengatur grafik kursor.
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 == false)
{
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
Keterangan
Saat Anda mengatur properti ini di XAML, prosesor XAML bergantung pada konversi jenis untuk Cursor kelas guna mengevaluasi string. String yang disediakan harus dievaluasi ke CursorType nilai. Lihat Cursor untuk detailnya.
Apakah kursor seperti yang ditetapkan oleh properti ini akan atau tidak akan ditampilkan ketika penunjuk mouse berada di atas elemen ini juga tergantung pada nilai ForceCursor properti. Selain itu, pertimbangan terkait peristiwa seperti seret aktif, tangkapan mouse, mode pengeditan teks dalam kontrol, dan sebagainya, juga akan memengaruhi kursor dengan prioritas yang lebih tinggi daripada nilai yang Anda tentukan dalam properti ini.
Untuk mengembalikan perilaku pengaturan properti ini ke default akhirnya, atur kembali ke null
.
Default null
benar-benar berarti bahwa penentuan nilai kursor praktis ditangguhkan di sini dan harus diperoleh dari tempat lain. Jika disajikan tanpa nilai terprogram dari sumber apa pun, kursor default yang secara visual melalui aplikasi Windows Presentation Foundation (WPF) akan menjadi panah. Namun, perubahan kursor sementara tidak diatur ke Cursor nilai elemen saat diteruskan. Properti Cursor hanya akan melaporkan nilai bukan null dalam kasus di mana properti benar-benar diatur, misalnya melalui kode atau gaya. Setiap gerakan mouse di atas aplikasi WPF memunculkan QueryCursor peristiwa. Gelembung peristiwa, dan elemen apa pun di sepanjang rute memiliki kesempatan untuk menangani peristiwa dan untuk mengatur nilai kursor melalui argumen peristiwa ini. Ini adalah mekanisme yang menghasilkan kursor yang jelas secara visual dalam banyak kasus.
QueryCursor Jika handler mengembalikan hasil kursor, maka fakta bahwa peristiwa ditangani dan memiliki nilai yang diubah dalam argumen lebih diutamakan daripada nilai Cursor properti pada tingkat apa pun, kecuali ForceCursor diatur.
Jika tidak membuat kursor kustom, Anda biasanya mengatur properti ini ke nilai Cursors properti statis kelas. Pengaturan Cursor dalam kode memerlukan salah satu hal berikut:
Cursor Panggil konstruktor untuk mendapatkan Cursor instans. Kedua tanda tangan Cursor konstruktor menggunakan aliran atau file, untuk mengantisipasi bahwa Anda membuat Cursor objek untuk kursor kustom.
CursorConverter Gunakan kelas dan metodenya ConvertFrom untuk menentukan kursor dengan CursorType, atau string yang dapat mengevaluasi ke CursorType, dan mentransmisikan kembali ke Cursor.
Mengatur ke Cursor nilai kustom tidak diaktifkan dalam kepercayaan parsial. Untuk informasi selengkapnya tentang kursor kustom, lihat Gambaran Umum Input.
Informasi Properti Dependensi
Bidang pengidentifikasi | CursorProperty |
Properti metadata diatur ke true |
Tidak ada |