如果我可以用一個TextBox
(像上的按鈕)替換它, 或者我可以直接添加媒體元素Grid
(什麼)......爲什麼我需要SilverLight中的ContentPresenter?
什麼是ContentPresenter
?有一些優勢嗎?
如果我可以用一個TextBox
(像上的按鈕)替換它, 或者我可以直接添加媒體元素Grid
(什麼)......爲什麼我需要SilverLight中的ContentPresenter?
什麼是ContentPresenter
?有一些優勢嗎?
您並不總是需要ContentPresenter。它充當佔位符,可有效託管您分配給其內容屬性的任何內容。如果在給定的控件/頁面上有一個區域可以容納不確定類型的動態內容,則ContentPresenter是保存空間的有效方法。
它也用於相當多的模板,自定義控件等。很可能你不會真正使用它,直到你開始進入一些相當先進的東西。
你可以做的一件很酷的事情是將ContentPresenter的Content屬性綁定到UserControl類型的DependencyProperty,然後如果將該DependencyProperty設置爲等於任何UserControl(就像你在ViewModel中新建的那樣或它會顯示在那個地方。
您通常使用ContentPresenter 中的ControlTemplate一個 ContentControl中的以指定 內容將被添加。每個 ContentControl類型在默認的 ControlTemplate中都有一個 ContentPresenter。
從MSDN;所以基本上它是一個模板內容的佔位符。
它被使用ContentControl。 Inside ContentControl的模板,ContentPresenter表示將放置實際內容的佔位符。
從MSDN,
顯示一個ContentControl中的內容。
Thanks.Right我需要的。 – Monochromie 2011-04-06 09:06:24