2008-12-13 22 views
10

Çift elips ve etiketlerden oluşan bir UserControl oluşturdum. Bunu başka bir forma da ekledim ve işler oldukça cazip görünüyordu.WPF Düğme miras almak için UserControl nasıl alınır?

Daha sonra bazı olay işleyicileri eklemeye başladım ve yaptığım denetimin bir Tıklama olayını göstermediğini keşfettim. Hata. Düzeltmesi kolay, değil mi? Yaptığım UserControl'ün kod arkasına geri dönüp Button'ı kalmasına izin ver.

Maalesef, bunu yaptığınızda "MyControl kısmi bildirimleri farklı taban sınıflarını belirtmemelidir" iletisine neden oldu. Bu, başka bir temel sınıf ilan etmediğim için sürpriz oldu. Söz konusu Kısmi aramak, hiçbir sonuç döndürmedi.

Bu sorunu ortadan kaldırmanın bir yolu var mı? Değilse, burada en kolay çözüm ne olurdu? Amacım, yalnızca UserControl'de bir Click olayı almaktır.

cevap

11

Evet, beyan ettik diğer temel sınıflar :) Sadece güven derleyici :)

XAML <UserControl ...></UserControl> yazma, sen sınıflara edilmektedir UserControl. Bir Düğme alt sınıfı oluşturmak istiyorsanız, bunun yerine <Button ...></Button> ve kod arkasındaki dosyada ": Düğme" kullanın.

Ancak, Button'ı alt sınıf olarak değil, sizin için bir overkill görevini yapmanızı şiddetle tavsiye ediyorum. Click olayı yerine MouseLeftButtonUp olayını kullanabilirsiniz.

+2

MouseLeftButtonUp olayı, her zaman fare tarafından tıklanan düğmeye dayanır. Bir kullanıcı bir Boşluk tuşunu bastığında, Click olayı tetiklenir ancak MouseLeftButtonUp (boşluk tuşu sol fare düğmesi değildir) değildir. –

İlgili konular