我想实现特定于应用程序没有任何运气的自定义视图。这里是我的问题: 我需要一个自定义视图,因为我希望用户能够在运行时动态切换视图。我需要一个自定义视图(而不仅仅是数据模板),因为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