Style System.Windows.Controls.ComboBox เพื่อไม่ให้แสดงรายการที่เลือก [ปิด]

ฉันกำลังสร้างคอมโบบ็อกซ์ใน c# เพื่อจัดการรายการ โปรดดูภาพ.

รูปภาพของฉัน

สิ่งที่ฉันต้องการคือการทำให้รายการที่เลือกไม่แสดงหลังจากที่ฉันเลือกรายการใด ๆ

ผลลัพธ์ที่ต้องการจะเป็นดังนี้: เอาต์พุตที่คาดหวัง นอกจากนี้หากสามารถแสดงผลแบบปุ่มได้จะดีกว่า

มีความคิดวิธีการทำเช่นนั้นหรือไม่?

ตัวอย่างง่ายๆ: V คือปุ่มสลับ

ต้นฉบับ:

selectedItem | V
 item1
 item2
 item3

สิ่งที่ฉันต้องการ:

V
 item1
 item2
 item3

person Jack Lee    schedule 10.02.2021    source แหล่งที่มา
comment
stackoverflow.com/ คำถาม/17737988/   -  person ASh    schedule 10.02.2021
comment
@ASh ฉันต้องการ comboBox ไม่ใช่สิ่งนี้   -  person Jack Lee    schedule 10.02.2021
comment
นอกจากนี้หากสามารถแสดงผลแบบปุ่มได้จะดีกว่า - คุณขัดแย้งกับตัวเอง   -  person ASh    schedule 10.02.2021
comment
@ASh เนื่องจากคอมโบบ็อกซ์มีปุ่มสลับเอง ฉันสงสัยว่าจะสามารถลบ SelectedItemContainer ได้หรือไม่ จากนั้นจึงเหลือเพียงปุ่มสลับเท่านั้น   -  person Jack Lee    schedule 10.02.2021


คำตอบ (1)


คุณจะต้องแก้ไข ControlTemplate สำหรับ ComboBox ของคุณและอ้างอิงโดยตรงหรือผ่านสไตล์สำหรับ ComboBox ของคุณ:

https://docs.microsoft.com/en-us/dotnet/desktop/wpf/controls/combobox-styles-and-templates?view=netframeworkdesktop-4.8

คุณสามารถลบ ContentPreseter ชื่อ ContentSite และการอ้างอิงทั้งหมดในทริกเกอร์และสตอรี่บอร์ดได้

ใน ComboBoxItem คุณจะต้องลบทริกเกอร์/กระดานเรื่องราวที่ทำงานเมื่อ IsSelected เป็นจริง

person o_w    schedule 10.02.2021