问题标签 [basedon]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
xaml - 在 xaml 中扩展自定义控件的样式
我正在开发一个 WPF 应用程序,并创建了一个自定义控件,我们将其称为“CControl”。在我设计应用程序布局的 xaml 文档中。我使用以下方式导入样式:
并且能够很好地使用控件。问题是我想在 CControl 上扩展样式。在资源字典中,我可以设置:
这会将样式应用于控件,但不会导入 CControl 定义的样式,因此我使用:
问题是当我的框架尝试加载 xaml 时,我得到以下异常:
我尝试了不同的使用 BasedOn 的方法,但没有得到任何工作。任何帮助都会非常有用。
谢谢
乔什
wpf - 覆盖每个模块的一些主题样式和属性
我正在使用“Prism”编写一个 WPF 应用程序,并且一些购买的 Grid 主题应用了“Xceed Theme”。我正在设计我们的客户要求的巨大变化,让他们可以选择修改某些属性(例如所选行的背景),并且此功能可在每个屏幕“模块”中使用。
所以我的问题是:
- 将我的 xceed 网格主题源添加到我的
App.xaml
合并字典后,如何在另一个 xaml 文件中覆盖它的一些样式(我知道其键)app.xaml
(可能通过添加BasedOn
到style
标签)? - 是否可以为每个模块创建自定义资源字典并
app.xaml
在加载时将其添加到合并字典中?
wpf - 如何在另一个 xaml 文件中覆盖在数据模板中定义的 LinearGradientBrush 而无需再次复制整个模板
在我的 WPF 应用程序中,我在整个应用程序上都应用了一些购买的网格主题,需要一个 CR 才能修改每个模块/屏幕的这个主题,修改范围将是画笔、颜色和样式“使用 BasedOn”...因此,如果我在某些模板内部定义/使用了画笔,如何在本地模块 xaml 中覆盖它,而无需再次复制整个模板以及关于画笔和颜色是否足以在本地 xaml 中使用相同的键再次重新定义它们
这是我要修改的带有画笔的控制模板:
wpf - 继承/基于数据模板
我有一个DataTemplate
在我的 WPF 应用程序中使用的 -
然后我(在一个DocumentSetTemplateSelector
类中)定义要使用的模板;
我想做/知道的是;创建 4 个其他模板,这些模板将继承上述模板,然后允许覆盖某些属性;
一个例子(这个模板继承自上面的类)——所以它们看起来是一样的;
我希望有一种风格附加到这个(如果可能的话)以便获得这种效果;
或者
wpf - 扩展自定义 TreeView 项目容器样式?
如何扩展我在 CustomTreeView 中声明的样式?所以我有一个浅灰色的前景和一个绿色的背景?
CustomTreeView.xaml
窗口.xaml
wpf - 如何扩展而不是覆盖 WPF 样式
我想在我的应用程序中使用自定义主题,据我所知,我可以通过使用资源字典并在 App.xaml 中引用它来实现这一点。样式会像这样覆盖默认值:
现在我猜默认标签样式被相同的值覆盖,但我所有的标签字体都是绿色的。当我想再次在某个地方设置一个标签的样式时,问题就开始了。当我想像这样更改网格中的其他属性时
我的网格内的所有标签都失去了前景色并再次具有默认值(我不是在上一步中覆盖了默认值吗?)。经过一些尝试,我发现要正确执行此操作,我必须在Style
声明中添加另一个属性BasedOn={StaticResource {x:Type Label}}"
并且它可以工作。这对我来说有点奇怪,因为现在我将不得不在整个应用程序中重复相同的 BasedOn 代码,这不是样式的工作方式 - 这应该自动完成!例如,在 HTML + CSS 中,样式被继承和合并,而在 WPF 中,它们被替换......
请注意,当我不使用任何样式时,控件仍然可以从某个地方(系统主题?)获得它们的外观。我如何告诉他们在其他地方寻找默认值,这样如果没有任何额外的样式代码,他们会认为默认情况下它们应该是绿色的?
有什么方法可以自动设置 BasedOn 属性?或者也许有一个更好的整体做到这一点?
wpf - WPF 从 BasedOn 更改元素属性的值
我有以下风格:
我想有另一种风格,BasedOn
上面,但有一个变化 - 我想改变Fill
TabPanelBorderRectangle 的颜色Rectangle
。
因此,要使用 BasedOn,我写了以下内容:
Rectangle
但我不知道如何从BasedOn
样式中更改 TabPanelBorderRectangle 的颜色。
我尝试了类似的东西
但它不起作用(TargetName 属性不能在样式设置器上设置)..
我怎样才能做到这一点?
wpf - 自定义控件不使用主题
我有我的应用程序设置我们使用皇家主题:
然后我在同一个应用程序项目中有一个 CustomControl :
这是可行的,并且皇家主题的样式应用于 Tabcontrol。但现在我想对选项卡项上的 Padding 稍作更改:
现在 Royal 主题不应用于 TabControl 并返回到 Aero 主题。是什么赋予了?我该如何解决这个问题?
wpf - 来自资源的样式不适用于菜单项
我已经创建了自定义控件,并且在该样式中菜单项不起作用我使用 BasedOn 键应用样式
通用 XAML 代码片段
该样式不适用于MenuItem,而添加如下代码的样式正在工作,如何使用基于实现这一点,因为在我的scnorio中我使用了多个菜单项
wpf - 'BasedOn' 属性混淆
我有 3 个项目的解决方案
- WPF 应用程序(引用其他 2 个,并将主题添加到 App.Resources)
- 自定义控件库
- 自定义主题
主题包含以下按钮样式
控制库包含以下内容:
在控件库中,'BasedOn="{StaticResource {x:Type Button}}"' 的评估结果是什么?
我认为它会评估为主题中的 Button 样式,但似乎并非如此,因为没有拾取绿色边框属性。
有人可以解释这里发生的查找规则吗?