棱鏡文檔指出有三種可用區域適配器:如何在棱鏡中使用Panel作爲區域?
ContentControlRegionAdapter。此適配器適應類型
System.Windows.Controls.ContentControl
和派生類的控件。SelectorRegionAdapter。此適配器適用於從類
System.Windows.Controls.Primitives.Selector
派生的控件,例如System.Windows.Controls.TabControl
控件。ItemsControlRegionAdapter。此適配器適應類型
System.Windows.Controls.ItemsControl
和派生類的控件。
不幸的是,Panel
不屬於任何類別的,我希望能夠在我的.xaml.cs
寫這篇文章:
<Canvas cal:RegionManager.RegionName="{x:Static local:RegionNames.MainCanvas}">
我們怎樣才能做到這一點?
這裏的問題是,在畫布不強加任何佈局。除非讓你的regionadapter更加智能化地註冊該區域的元素(這也是爲什麼不支持Panel),否則你將遇到問題。我很好奇......你有什麼應用程序? – 2009-12-10 01:50:53
我正在更新具有浮動控制容器(如工具欄)的預期位於Canvas內的現有代碼庫。他們處理他們自己的「標題欄」區域並在拖動時更新他們的畫布位置。顯然,這可以通過其他方式來完成,但是與往常一樣,時間是關鍵,這似乎是我能夠將現有結構轉換爲與Prism一起工作的最快方式。 – Jedidja 2009-12-10 13:40:52
讓控制更新其位置似乎有點不合邏輯......有點像「走出你的箱子」。 +1可以轉換現有的代碼庫。 – 2009-12-10 15:13:00