我只想提出有關WPF的用戶控件的這個問題。我剛開始在我的WPF應用程序中使用這個「控件」,而不是在一個WPF窗口中「添加」所有的控件。WPF:使用WPF UserControl的優點/缺點是什麼?
不管怎樣,如果我使用用戶控制,我會得到更快的處理時間嗎?如何依賴屬性?我仍然可以在用戶控件和我的WPF窗口之間「溝通」嗎?
您對此有何看法?提前致謝。
我只想提出有關WPF的用戶控件的這個問題。我剛開始在我的WPF應用程序中使用這個「控件」,而不是在一個WPF窗口中「添加」所有的控件。WPF:使用WPF UserControl的優點/缺點是什麼?
不管怎樣,如果我使用用戶控制,我會得到更快的處理時間嗎?如何依賴屬性?我仍然可以在用戶控件和我的WPF窗口之間「溝通」嗎?
您對此有何看法?提前致謝。
UserControls應該用於重用,但這不是使用它們的主要原因。
使用useControsl的主要原因是將xaml的不同部分分開,以便每個部分只負責一個責任。例如,如果您要編寫VisualStudio,則可以在一個userControl中創建ToolBox,在另一個userControl中創建CodeEditor等,這主要針對SRP或Single Responsibility Priniciple。
重用或DRY(不要重複自己)很重要,但SRP更重要。
至於通信 - 是的,你會使用依賴屬性。
你們都有很好的答案,但我選擇你們的(對於SRP和DRY原則)。感謝您解決問題。 – abramlimpin 2011-04-08 03:27:10
當需要在兩個或更多位置之間共享控件組時,我只使用UserControl
。要在UserControl
和Window
之間進行通信,您應該在用戶控件中執行DependencyProperty
-ies。這是不利的。因此,在可能的情況下,我避免使用UserControl
,並且僅使用它,例如在兩個版本(WPF
和XBAP
)之間共享佈局。
使用用戶控件的主要原因是捆綁一組控制,以便它們可以被重複使用(通常在相同的應用程序)
至於「表演」要添加一個額外的節點到視件樹所以它會比較慢,但這不會引起注意。
UserControl和窗口(或其父窗口)之間的通信與您添加到佈局類的任何其他控件完全相似。
對於上/下投票的人:請留言爲什麼你(下)投票,所以我們可以得出答案。 – 2011-03-31 08:50:44
什麼是「更快的處理時間」? \ *向FSM表示它不是「更好的性能」* – BoltClock 2011-03-31 05:50:11
@BoltClock:數據處理時間是否響鈴? – abramlimpin 2011-03-31 09:11:47