我有一個WPF控件來自第三方的ParentWPFControl,我想繼承它(讓我們調用Child類ChildWPFControl)。在這個過程中,我打算覆蓋一些後端邏輯和前端樣式的一部分。我可以做前者,但我在後者方面有問題。覆蓋WPF控件
我嘗試使用XAML < - > xaml.cs結構爲孩子的國家,但似乎不與VS以下警告允許:
Partial declarations of 'ChildWPFControl' must not specify different base classes
現在,我想我可以寫一個ResourceDictionary XAML並在那裏定義前端,但如果我想添加事件處理程序到XAML(至少我找不到方法來做到這一點)會變成問題
另一個替代方案是定義覆蓋模板直接位於使用ChildWPFControl的對象中,但使設計更少模塊化。
我能想到的最後一個選擇是製作一個xaml < - > xaml.cs對,它是一個XAML樣式容器,然後強制ChildWPFControl使用通過後端事件處理程序定義的ControlTemplate。
無論如何,我正在尋找的是我的問題的優雅和模塊化解決方案。任何建議都會受到歡迎。
謝謝
這個想法似乎有潛力,但你可以詳細說明一個例子嗎?謝謝! – user1836155
爲telerik:RadComboBox添加包裝器的簡單示例。希望有幫助 – Frank59
嗯,我其實做過類似的事情。這基本上是添加一個容器對象。我對此的擔心是,如果不直接實現管道,我們不能直接訪問基本控件的基本功能,如果我們想要做的只是改變一個大的控制對象的幾個關鍵部分,這可能是相當不方便的。儘管如此,我仍然贊同這個答案,因爲它工作得很好,而且非常可行。 – user1836155