问题标签 [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.

0 投票
3 回答
12917 浏览

c# - 样式代码隐藏中的 BasedOn="{StaticResource {x:Type TextBox}}"

如何在后面的代码中设置以下内容?

我正在使用在 App.xaml 中合并的主题。它适用于所有控件,但是当我为某些东西定义样式时,例如TextBox,除非我像上面那样使用,否则不会选择主题样式BasedOn,而是获取默认TextBox样式。

现在我DataGridTextColumn在后面创建了一个代码,我无法让该BasedOn部分为EditingElementStyle

有什么建议么?另外,有没有办法在不使用 BasedOn 的情况下获得主题样式而不是默认样式?

谢谢

0 投票
1 回答
16732 浏览

wpf - 在 WPF 中,您可以像使用 Style 一样将一个 DataTemplate 基于另一个 DataTemplate 吗?

可能重复:
数据模板继承

我有几个不是子类的数据类型,它们也不共享一个接口,但它们确实具有我想在 XAML DataTemplate 中显示的公共属性。也就是说,我知道这是可能的......

BasedOn但是我们可以对没有属性的数据模板做类似的事情吗?

我知道BasedOn这不是我们想要的,因为在这种情况下它不是“基于”而是“是”,但不确定如何纯粹在 XAML 中做到这一点。在写这篇文章时,我有一个想法,但我觉得使用UserControl是作弊......

谢谢!

0 投票
1 回答
1290 浏览

wpf - 更改“超级/基本”样式 wpf 的属性

我正在创建一个基本样式。我正在使用继承来实现我的基本样式。我知道如何在派生类上添加属性,但我不知道如何更改属性。让我给你举个例子:

假设我有这种基本风格:

我想创建一个新样式,它具有与 ScrollBarLineButton 相同的属性,但图像从 scaleY=1 而不是 -1 转换。

当我做:

边框不再具有其基本样式边距、背景颜色等。我如何从样式继承并只更改一个属性。我知道我可以复制粘贴,但我会改变很多,如果我在一个地方改变它,它会在所有其他地方改变,这很方便。

0 投票
2 回答
4956 浏览

wpf - WPF Expander Toggle Button - 在setter中解决它们?

嗨,是否可以在 ExpanderStyle 的 Setter 中分配 ToggleButtonStyle?像这样在日历中是可能的:

问题的背景:在 BasedOn-Styles 中,我只更改 setter 而不是整个模板进行小的更改。

非常感谢。

0 投票
2 回答
3588 浏览

wpf - 为什么我的 TextBlock/TextBox 不应用基本样式中的值?

对于我来说,编写类似下面的内容来设置数据输入表单的样式并不少见,但我的问题是,似乎TextBoxTextBlock没有实现BaseElementStyle. 通常我需要单独定义它们。

为什么是这样?有没有办法解决它?

我猜这与它们通常用于其他控件模板的事实有关(例如 TextBlock 用于大多数控件,TextBox 用于 DatePickers 和 ComboBoxes)

0 投票
2 回答
633 浏览

wpf - 使用没有 XAML 的基类 Style 的派生控件

我正在制作一些封装类,它们封装了基类控件的设置细节,但我希望它们使用基类的样式。我可以使用以下 xaml 来实现这一点:

我宁愿不使用 xaml,这样客户端程序员就不必将此行添加到他的 xaml 代码中。有没有办法在 C# 中做到这一点?

谢谢

0 投票
1 回答
599 浏览

wpf - 如何让我继承的 TextBox 使用按钮类型的样式

我正在使用从 TextBox 继承的自定义 TextBox:

我希望此类使用在 classic.xaml ResourceDictionary 中定义的样式。我试过这个:

但我收到一条错误消息,指出样式只能基于 IFrameworkInputElement 类型。

这应该是微不足道的,不是吗?

0 投票
1 回答
2907 浏览

wpf - 如何将样式基于默认控件的样式?

我们正在编写 TextBox 的自定义子类,我们只需要更改样式的一些基本部分。现在我们知道当你子类化时Control,通常你应该像这样更改元数据......

这会将用于该子类类型的键更改为类型本身,这意味着它不再获得默认的 TextBox 样式。没什么大不了的......我们只是注释掉那条线,它再次起作用,因为键仍然设置为 TextBox 直接使用的值。

然而,我们想知道如果我们确实想要改变样式中的一些东西,而不是整个样式,我们可以简单地创建一个新样式并设置它的BasedOn属性......但是我们在那里设置什么?我们不想手动拉出 XAML 并创建一个新样式,给它一个键,然后使用一个 StaticResource,但我们还没有找到我们可以在那里设置说“这是基于 TextBox风格。

我希望它是简单的,但同样,我们还没有找到它。任何人都可以帮忙吗?

0 投票
1 回答
956 浏览

mvvm - MVVM 中的样式按钮

我正在使用 MVVM 模式编写一个小型 WPF 应用程序。

我在主窗口中为按钮设置了一些样式资源,我希望它们应用于视图中的按钮。问题是某些按钮具有带触发器的样式。所以我想从通用风格继承这种风格

这是我的主窗口代码:

这是我的视图/用户控件中的按钮 XAML

我尝试使用 BasedOn="{StaticResource {x:Type Button} 继承,但它似乎不起作用(见 img)

在此处输入图像描述

我尝试使用键名,但静态资源找不到键名,因为它不在同一个视图上。并且 BasedOn 不接受动态资源。有什么我想念的吗?

谢谢

0 投票
0 回答
854 浏览

.net - 如何将 WPF 样式基于已编译资源字典中的样式?

我已经下载了 Reuxables 免费样式并将它们作为资源字典添加到我的 App.xaml 中。我还添加了我自己的包含验证器模板的资源字典。

问题是,当我在验证器模板中添加样式目标类型以定位一种对象时,该类型的对象会丢失 Reuxables 库中的样式。

这是我的 App.xaml:

这是我的验证器资源字典:

因为我将验证器应用于文本框、组合框、日期选择器、数据网格、组框和 tabitems,所以所有这些都失去了它们的 Reuxables Edge 风格。

我感谢任何解决方案。谢谢!