2011-03-31 108 views
2

我只想提出有關WPF的用戶控件的這個問題。我剛開始在我的WPF應用程序中使用這個「控件」,而不是在一個WPF窗口中「添加」所有的控件。WPF:使用WPF UserControl的優點/缺點是什麼?

不管怎樣,如果我使用用戶控制,我會得到更快的處理時間嗎?如何依賴屬性?我仍然可以在用戶控件和我的WPF窗口之間「溝通」嗎?

您對此有何看法?提前致謝。

+2

什麼是「更快的處理時間」? \ *向FSM表示它不是「更好的性能」* – BoltClock 2011-03-31 05:50:11

+0

@BoltClock:數據處理時間是否響鈴? – abramlimpin 2011-03-31 09:11:47

回答

3

UserControls應該用於重用,但這不是使用它們的主要原因

使用useControsl的主要原因是將xaml的不同部分分開,以便每個部分只負責一個責任。例如,如果您要編寫VisualStudio,則可以在一個userControl中創建ToolBox,在另一個userControl中創建CodeEditor等,這主要針對SRP或Single Responsibility Priniciple。

重用或DRY(不要重複自己)很重要,但SRP更重要。

至於通信 - 是的,你會使用依賴屬性。

+0

你們都有很好的答案,但我選擇你們的(對於SRP和DRY原則)。感謝您解決問題。 – abramlimpin 2011-04-08 03:27:10

0

當需要在兩個或更多位置之間共享控件組時,我只使用UserControl。要在UserControlWindow之間進行通信,您應該在用戶控件中執行DependencyProperty -ies。這是不利的。因此,在可能的情況下,我避免使用UserControl,並且僅使用它,例如在兩個版本(WPFXBAP)之間共享佈局。

1

使用用戶控件的主要原因是捆綁一組控制,以便它們可以被重複使用(通常在相同的應用程序)

至於「表演」要添加一個額外的節點到視件樹所以它會比較慢,但這不會引起注意。

UserControl和窗口(或其父窗口)之間的通信與您添加到佈局類的任何其他控件完全相似。

+0

對於上/下投票的人:請留言爲什麼你(下)投票,所以我們可以得出答案。 – 2011-03-31 08:50:44

相關問題