Dalam WPF ToolBarPanel-ToolBar-Menu bersarang kita ingin menyingkirkan pegangan pegangan ke kiri dan area luapan ke kanan. keduanya berwarna abu-abu, tapi kami ingin mereka tidak ditampilkan sama sekali.
ada ide tentang bagaimana mencapai itu?
untuk berjaga-jaga jika istilah saya tidak sepenuhnya benar, jika Anda melihat gambar pada Gambar 3 dari tautan di bawah ini, di paling bawah dari tiga bilah alat ada pegangan di sebelah kiri dropdown dan di sebelah kanan paling kanan. tombol ada luapan.
Jawaban:
Pegangan dapat dilepas dengan mengatur properti terlampir
ToolBarTray.IsLocked="True"
pada ToolBar.Untuk menghapus Overflow ToggleButton , Anda harus menghapusnya di ControlTemplate kustom seperti yang disarankan oleh sixlettervariables, yang jika Anda memiliki campuran atau dapat mendownload Blend 3 Preview tidaklah terlalu sulit.
Anda juga dapat menyembunyikan tombol pada acara ToolBar yang dimuat, meskipun rute mana pun yang Anda ambil, Anda juga harus menyetel properti terlampir
ToolBar.OverflowMode="Never"
pada menu ToolBar, sehingga item tidak dapat meluap secara tidak sengaja ke area yang tidak dapat dijangkau.Dan atur Overflow ToggleButton menjadi diciutkan:
sumber
Anda dapat menggunakan Blend untuk lebih hanya menimpa ControlTemplate untuk ToolBarPanel, Menu, atau ToolBar.
Sekarang Anda akan mengedit template kontrol untuk ToolBarPanel, dan dapat mengatur visibilitas ke Diciutkan untuk sinyal pegangan dan luapan. Anda dapat membilas dan mengulang untuk kontrol lainnya. Ini sedikit memakan waktu, tetapi tidak terlalu sulit dengan Blend.
sumber
Anda dapat "menghapus" luapan tanpa menyediakan template kontrol baru dengan mengatur
ToolBar
agar memiliki margin kanan negatif (dan memasukkan margin kiri negatif sehingga tidak terlihat aneh dengan tepi kiri membulat tetapi tepi kanan persegi). Kemudian, tambahkanClipToBounds="True"
keToolBarPanel
yang akan memotong tepi toolbar yang sekarang mencuat luar daerah panel.sumber
Daripada menyembunyikan tombol overflow sepenuhnya, saya pikir lebih baik menampilkannya hanya jika diperlukan. Ini dapat dilakukan dengan mengikat
Visibility
propertinya keIsEnabled
propertinya:(hal yang sama dapat dilakukan di XAML dengan mendefinisikan ulang template)
sumber
Saya baru saja memulai dengan WPF dan tidak bisa mendapatkan metode di atas untuk menyembunyikan panah overflow saya (Visual Studio 2010). Satu-satunya hal yang tampaknya memengaruhi panah adalah contoh Toolbar_Load di atas tetapi yang dilakukan hanyalah mengubah panah menjadi ruang kosong yang terlihat seburuk panah. Cara termudah yang bisa saya pikirkan hanyalah mengatur margin toolbar.
sumber
Metode di atas berfungsi untuk menyembunyikan overflow; Saya telah menggunakan yang berikut ini untuk menyembunyikan gripper:
untuk tata letak Horizontal, dan
untuk tata letak Vertikal. Tempatkan di atas setelah Toolbar (atau ToolbarTray, jika menggunakan itu)
Gunakan Lebar dan Tinggi apa pun yang diperlukan untuk tombol Anda.
Kaxaml sangat bagus untuk bermain dengan barang ini.
sumber