我想實現特定於應用程序沒有任何運氣的自定義視圖。這裏是我的問題: 我需要一個自定義視圖,因爲我希望用戶能夠在運行時動態切換視圖。我需要一個自定義視圖(而不僅僅是數據模板),因爲listview佈局必須改變以及Control模板和數據模板。 所有的turorials都說要實現派生自viewbase的Custom類,並重寫DefaultStyleKey和ItemContainerDefaultStyleKey以返回在generic.xaml中定義的ComponentResourceKey。但是,問題是我正在嘗試創建幾個非常特定於該應用程序的視圖。某些畫筆和字體將與應用程序保持一致,並且自定義視圖將使用這些。即我有應用程序級別的Forebrush,Shadowbrush,Deepshadowbrush,TextDecorator等,我希望視圖使用這些。如果視圖將在外部generic.xaml中定義,那麼綁定到這些標記將會非常複雜。此外,無論如何,它會使它們專用(如果它們綁定到這些畫筆上)。 任何人都有一個想法如何定義風格的內部應用程序,將可以在運行時更改?WPF自定義查看沒有Generic.xaml
0
A
回答
0
我對你的細節有些困惑,但是你可以在運行時設置ListView的風格,就像這樣...其中CustomStyle是你想要應用到ListView的預定義風格。
ListView view = new ListView();
view.Style = CustomStyle;
DefaultStyleKey適用於自定義控件(這與UserControl不同)。所以說你想要一個叫做Widget的新控件。您將需要爲該Widget定義DefaultStyleKey,因爲它沒有定義默認樣式。 UserControl是控件的集合,因此它沒有預定義的樣式。
另外,您可以創建一個ResourceDictionary
以分開您的樣式。然後你可以通過App.xaml合併它們...
<Application.Resources>
<ResourceDictionary>
<ResourceDictionary.MergedDictionaries>
<ResourceDictionary Source="Themes/Generic.xaml"/>
<ResourceDictionary Source="Themes/ListViewStyles.xaml"/>
</ResourceDictionary.MergedDictionaries>
</ResourceDictionary>
</Application.Resources>
相關問題
- 1. 有沒有辦法定義WPF自定義綁定?
- 2. JavaScript函數沒有定義偏查看
- 3. WPF - 資源不是來自Generic.xaml加載
- 4. 查看自定義類
- 5. 自定義圖片查看
- 6. 自定義查看到xml
- 7. android自定義查看
- 8. onDraw()沒有在自定義中調用查看
- 9. 查看自定義MIME類型沒有收到實例變量
- 10. 沒有顯示自定義標題查看
- 11. TextView在自定義視圖中沒有更新查看
- 12. Howto:將generic.xaml中定義的樣式應用於UserControl? (WPF)
- 13. 在Generic.xaml中爲自定義控件綁定畫布背景
- 14. Android查看內部 - 自定義查看定位
- 15. WPF列表框的滾動查看器可自定義,以便沒有滾動條,只有RepeatButtons
- 16. WPF自定義控件屬性沒有收到數據綁定
- 17. WPF自定義TabControl
- 18. Datagrid在自定義控件中查看
- 19. 自定義列表查看多選
- 20. Backbone查看自定義事件
- 21. 良好的自定義查看教程
- 22. Sharepoint:自定義查看權限
- 23. Android自定義查看問題
- 24. iphone自定義滾動查看指標
- 25. 查看自定義菜單的信息
- 26. 自定義標題查看iOS中10
- 27. Recycler查看自定義滾動效果
- 28. 自定義回收站查看ROw
- 29. Autodesk Forge - 自定義查看器
- 30. 自定義單選列表查看
我可能不會很好地解釋我自己。我需要自定義視圖(派生自ViewBase)因爲我需要改變視圖(而不是列表框)中的幾乎所有內容,例如選擇事件和麪板。我可能能夠在列表視圖上單獨設置它們,而不是提供自定義視圖,但是這不會給我所需的邏輯分組。我希望每個視圖都應該有自己的佈局容器,選擇事件,動畫,容器,最後是數據模板。我不能使用上面描述的外部字典(generic.xaml) – Fragilerus 2010-10-12 15:33:40
所以問題的根源在於如何在不使用Generic.xaml的情況下獲得自定義控件類型的默認樣式? – 2010-10-12 15:40:52