Masuk ke proyek WPF serius pertama. Sepertinya ada banyak kontrol dasar yang hilang. Secara khusus, saya mencari kontrol Numeric UpDown. Apakah ada rilis band yang saya lewatkan? Benar-benar tidak ingin menulis kendali saya sendiri.
Saya tidak ingin menggunakan WindowsFormHost dan memasang ctl WinForm di atasnya. Saya ingin ini menjadi WPF sepenuhnya tanpa sampah lama.
Terima kasih
wpf
controls
numericupdown
updown
AngryHacker
sumber
sumber
Jawaban:
Cukup gunakan
IntegerUpDown
kontrol di xtended wpf toolkit Anda dapat menggunakannya seperti ini:Tambahkan ke XAML Anda namespace berikut:
xmlns:xctk="http://schemas.xceed.com/wpf/xaml/toolkit"
Di XAML Anda di mana Anda ingin menggunakan kontrol:
<xctk:IntegerUpDown Name="myUpDownControl" />
sumber
Saya membuatnya sendiri;
yang xaml
dan kode di belakangnya
sumber
Ini adalah contoh UserControl saya sendiri dengan tombol Naik dan Turun.
Kode Xaml:
Dan kodenya:
sumber
sumber
Jawaban yang diberikan OK. Namun, saya ingin tombolnya otomatis bersembunyi, saat mouse lepas kendali. Ini kode saya berdasarkan jawaban vercin di atas:
Gaya
Kode
sumber
Gunakan
VerticalScrollBar
denganTextBlock
kontrol di WPF. Di belakang kode Anda, tambahkan kode berikut:Dalam konstruktor, tentukan penangan kejadian untuk scrollbar:
Kemudian di event handler, tambahkan:
Ini cuplikan asli dari kode saya ... buat perubahan yang diperlukan .. :)
sumber
Anda dapat menggunakan kontrol NumericUpDown untuk WPF yang saya tulis sebagai bagian dari pustaka WPFControls .
sumber
Minta maaf karena terus menjawab pertanyaan 9 tahun.
Saya telah mengikuti jawaban @ Micheal dan berhasil.
Saya melakukannya sebagai UserControl di mana saya dapat menarik dan melepas seperti elemen Kontrol. Saya menggunakan Tema MaterialDesign dari Nuget untuk mendapatkan ikon Chevron dan efek riak tombol.
NumericUpDown yang sedang berjalan dari Micheal dengan modifikasi akan seperti di bawah ini: -
Kode untuk kontrol pengguna: -
TemplateNumericUpDown.xaml
TemplateNumericUpDown.cs
Pada MyPageDesign.xaml, drag and drop akan membuat usercontrol
<UserControlTemplate:TemplateNumericUpDown HorizontalAlignment="Left" Height="100" VerticalAlignment="Top" Width="100"/>
Untuk mendapatkan nilai dari template tersebut, saya gunakan
Saya belum memiliki keterampilan yang baik untuk mengikat Ketinggian kontrol berdasarkan elemen FontSize, jadi saya mengatur ukuran font dari halaman saya secara manual di usercontrol.
** Catatan: - Saya telah mengubah nama "Arsip" menjadi Arsip di program saya =)
sumber
Saya memiliki solusi yang naif tetapi bermanfaat. Ini kodenya:
sumber
Berikut adalah kontrol open source lain yang memiliki banyak metode masukan berbeda (seret mouse, roda mouse, tombol kursor, pengeditan kotak teks), mendukung banyak tipe data dan kasus penggunaan:
https://github.com/Dirkster99/NumericUpDownLib
sumber
Hanya sampel pragmatis untuk dilakukan:
-Klik kanan Proyek Anda (di bawah Solusi), pilih "Kelola Paket nuget ..."
-Dalam Menu klik Browse Tab cari "wpftoolkit", pilih "
Extended.Wpf.Toolkit
"-Instal itu!
-Klik kanan di Kotak Alat Kontrol Pengguna Anda , pilih "Tambah Tab .." dan beri nama "Alat WPF"
-Klik kanan pada Tab "WPF Toolkit" baru, pilih "Pilih item ..."
-Dalam Menu klik tombol "Browse ...", cari folder DLL nugets, pilih semua "
...\packages\Extended.Wpf.Toolkit.3.5.0\lib\net40\*.dll
"Abaikan Peringatan tentang beberapa DLL mungkin tidak berisi kontrol pengguna!
Siap :)
sumber
Pergi ke NugetPackage manager proyek Anda-> Jelajahi dan cari mahApps.Metro -> instal paket ke proyek Anda. Anda akan melihat Referensi ditambahkan: MahApps.Metro. Kemudian di dalam kode XAML Anda tambahkan:
"xmlns:mah="http://metro.mahapps.com/winfx/xaml/controls"
Di mana Anda ingin menggunakan objek Anda tambahkan:
Nikmati ekstensibilitas penuh objek (Bindings, trigger, dan sebagainya ...).
sumber