问题标签 [styles]

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.

0 投票
6 回答
6856 浏览

wpf - 你能在数据绑定的 WPF 样式中做“数学”吗

我有一个按钮控件样式,我想更改任何数据绑定版本的填充,以针对需要 2 像素偏移的字形进行调整。我将使用 SimpleStyles.xaml 中的 SimpleButton 作为示例(...显示为简洁起见删除了触发器代码的位置):

我想要做的是在 Padding="{TemplateBinding Padding}" 的地方添加一些额外的边距。像 Padding="{TemplateBinding Padding} + 2,0,0,0" 这样的东西。

有 XAML 语法吗?如果没有,在代码中执行此操作时是否有最佳方法(装饰器?)?

0 投票
2 回答
2440 浏览

wpf - 您可以通过 WPF 样式将数据绑定到 CornerRadius 吗?

我有一个 Button 样式,似乎无法将边框的 CornerRadius 属性数据绑定到模板。这是一个依赖属性,所以它应该是数据可绑定的。我想知道我是否缺少要使用的正确 XAML 语法?

和 CornerRadius="{TemplateBinding CornerRadius}" 都给我错误“CornerRadius 无法识别或无法访问”。

0 投票
1 回答
1518 浏览

asp.net - 有没有办法禁用/覆盖禁用 WebControls 的默认样式

自从我涉足网络开发以来,那个人就一直在唠叨我;有办法吗?我是否可以覆盖该样式并依靠其他方式通知我的用户该控件不能被取消?

我的问题是 RadioButton- 和 CheckBox-Lists 的标签变灰使它们不可读。

我总是可以用样式/主题的标签替换禁用的文本框,看起来像文本框,但这会更具侵入性......

[编辑]好的,对不起;这不是解决方案;文本框已经有“只读”选项,这意味着它们看起来像我想要的那样,即使在用户输入锁定时也是如此;问题在于 IList 控件(RadioButtonLists 和 CheckBoxLists。)

一如既往,感谢您的宝贵时间!

0 投票
2 回答
385 浏览

wpf - 如何在运行时确定应用于对象的样式是否为默认样式?

当当前样式是默认样式时,我才希望能够在运行时将样式应用于对象。我不想覆盖任何用户定义的样式。有人知道怎么做吗?

0 投票
4 回答
503 浏览

.net - 将样式应用于大量项目的最佳方法是什么?

在我的 LOB 应用程序中,我通常使用包含大量不同文本块和文本框的容器来供用户输入数据。通常我需要对每个控件应用一定的边距或垂直/水平对齐。

假设我的表单上有 Grid,看起来像这样(为简洁起见,删除了很多标记):

现在假设我需要网格中包含的每个项目都具有 Margin="3,1" VerticalContentAlignment="Left" VerticalAlignment="Center"。有几种方法可以实现这一点:

  1. 直接在每个控件上设置属性 - 糟糕!不允许蒙皮或集中样式。
  2. 使用 x:Key="MyStyleName" 创建一个样式并将该样式应用于每个控件。更好...使集中样式和蒙皮更易于管理,但仍需要大量标记,并且可能变得笨拙。
  3. 创建全局样式(即不指定 x:Key 并设置 TargetType={x:Type TextBox/TextBlock} - 不好!!这样做的问题是它会影响应用程序中未明确覆盖的所有控件这种风格。这对于菜单、网格和其他使用文本块和文本框的控件可能很糟糕。
  4. 创建一个以 Grid 为目标的样式,并明确设置依赖属性值,例如<Setter Property="Frameworkelement.Margin" Value="3,1" />Not bad...它将样式正确应用于其内容中的每个元素,但也将其直接应用于 Grid 本身...不完全是我想要的。

那么你采取什么方法,为什么?什么效果最好?

0 投票
7 回答
113610 浏览

javascript - 在 javascript 中设置 HTML 元素的样式属性

我有一堆旧的经典 ASP 页面,其中许多在表中显示数据库数据。这些页面都没有内置任何排序功能:您将受到原始开发人员认为适合使用的任何 ORDER BY 子句的支配。

我正在快速修复通过客户端javascript进行排序的方法。我已经编写了一个脚本,它主要可以满足我的需要。但是,我仍然需要添加一点功能。这些页面中的表格行通常具有交替的行颜色,并且用于实现此目的的机制因页面而异。它可能像更改 CSS 类一样简单,或者样式可能已由 ASP 代码内联呈现。

现在,在对表格进行排序后,每一行都保持着色方案被渲染,因此交替的行不再交替。我希望用这样简单的方法来修复它:

不幸的是,你不能像这样设置元素的样式属性。它抱怨该对象没有设置器。我还能如何简单地做到这一点?这里不允许使用像 jQuery 这样的框架——这不在我的掌控之中。

更新:
虽然这将是最好的解决方案,但将 100 多个页面重构为所有使用类而不是内联样式是不切实际的。此外,有时涉及的不仅仅是背景颜色。例如,一行可能比交替行更暗或更亮,其中一种样式也具有不同的前景色以适应。或者交替的样式可能会以不同的方式设置边框。我真的不知道所有这些页面上使用了什么,所以我需要一些可以将所有样式从一行应用到另一行的东西。

0 投票
2 回答
32964 浏览

.net - 如何根据 WPF 中的 bool 属性设置背景颜色

我想为 GridViewColumn 设置背景颜色,它是 WPF 中列表视图内部的数据绑定。我不知道如何问这个对 WPF 来说相当新的问题,否则我不会打扰你们所有人。

我想根据我的数据绑定对象中的布尔标志更改整行的背景颜色。

在这种情况下,我有一个“CaseDetail”对象,当有内部注释“IsInternalNote”时,我希望行的颜色发生变化。

如何在 WPF 中实现这一点?

我现在拥有的(非常简单),不会改变颜色。

0 投票
2 回答
32829 浏览

wpf - WPF Xaml 自定义样式列表框中的选定项样式

我有一个ListBox水平滚动图像。

我有以下 XAML,我使用 blend 来创建它。它最初有 ax:KeyStyle TaregetType在线,MSDN 说要删除它,因为我遇到了错误。现在我收到此错误:

Error 3 Operation is not valid while ItemsSource is in use. Access and modify elements with ItemsControl.ItemsSource instead.

我不明白如何以这种方式应用所有这些垃圾,我已经尝试了几件事,但没有任何效果。

我的目标是让所选项目的背景为白色,而不是蓝色。对于这么小的东西,似乎需要做很多工作!

谢谢。

0 投票
1 回答
11517 浏览

wpf - 如何通过样式设置 WPF 的 Grid.RowDefinitions

我正在使用几个Grids 来格式化多个GridViewColumn.CellTemplates:

我试图将RowDefinitions (所有列都相同)提取到 a 中Style

但是编译器抱怨:

错误:无法设置属性设置器“RowDefinitions”,因为它没有可访问的设置访问器。

这很明显,但不是很有帮助。

我如何避免多次指定行定义(另请参阅不要重复自己),而不是编写自定义派生的Grid?

0 投票
1 回答
28613 浏览

wpf - WPF 按钮 IsEnabled 基于 ComboBox 选择覆盖默认样式

我有一个 Button 正在查看 2 个组合框,以确保它们在启用之前具有一个值。问题是我这样做的方式是覆盖我的主题项目中声明的默认样式。

我尝试将 BasedOn="{StaticResouce MyDefaultButtonStyleName}" 添加到样式标签,但它在运行时会爆炸。

错误是“'System.Windows.Style'值不能分配给对象'System.Windows.Controls.Button'的属性'Style'。只能基于目标类型为'IFrameworkInputElement'的样式。错误在标记文件中的对象“System.Windows.Style”处”

是否可以在 XAML 中执行此操作而不覆盖默认样式。

编辑:代码示例更新。我在 OKButtonStyle 上收到一条错误消息,提示“无法将元素添加到属性‘资源’,因为如果该属性使用显式集合标记,则它只能有一个子元素。标记文件中的对象‘System.Windows.Style’出现错误”