问题标签 [controltemplate]

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 投票
1 回答
1885 浏览

wpf - WPF:当孩子的 ControlTemplate 改变时调整父容器的大小

我的文本框有一个自定义错误模板。像这样的东西:

我的 TextBox 放置在 DataGrid 的单元格内。现在,当发生错误时,我希望更改该单元格的大小以适应我的 TextBox 的新模板。任何想法如何实现这种行为?

0 投票
2 回答
21464 浏览

wpf - WPF ControlTemplate 与 UserControl

我最近制作了一个UserControl,这花了很长时间,因为我必须使用自定义依赖属性等等......

无论如何,它只是一堆 3 个控件:TextBox、带有层次树的弹出窗口。

现在我意识到我可能只能写一个ControlTemplate。因此,使用 UserControl 有什么好处

0 投票
1 回答
3207 浏览

silverlight - Silverlight:自定义 DatePicker 模板时出现问题

我正在尝试覆盖 Silverlight 中的默认 DatePicker 模板。我想删除 DatePickerTextBox 并将 DatePickerTextBox 右侧的“日历”图标的内容替换为仅月和日作为内容。这就是我所在的位置,有两个 ContentPresenter 控件,每个控件都以不同的方式尝试绑定到 DatePicker 的 SelectedDate 属性。但两者都不起作用。我错过了什么?

0 投票
2 回答
4803 浏览

xaml - 拉伸 XAML 路径以填充其包含的元素

我有一个,里面ControlTemplate有一些Paths。我希望Paths 拉伸并填充它们所在的控件,例如Button. 我怎样才能做到这一点?

我目前的样子是这样的:

我知道ScaleTransform'StrechXStretchY属性,但它们只是原始Path大小的比例缩放。

我会使用价值转换器吗?或者也许某种形式的相对绑定到父母的大小?

0 投票
3 回答
915 浏览

wpf - wpf 控件模板

我有一个非常简单的案例,我认为使用模板会受益(但我不确定,这就是我要问的原因)。我见过的所有模板示例要么假设比我拥有更多的知识,要么太具体以至于对像我这样的新手没有太大用处,要么包含许多辅助内容,难以识别模板的一部分。

这是设置:我有两个并排的标签,第一个标签填充了字段的名称,第二个标签填充了字段的值。

这是我目前在我的应用程序中拥有的 XAML(很多次):

我想创建一个模板,这样我就可以像这样编写 XAML:

我有一种感觉,我可以用某种模板来做到这一点。这样做的一个好处是我不需要一遍又一遍地指定样式。我对么?我该怎么做?

提前致谢!

更新:

仍然没有找到这个问题的答案。我使用 Dependency Properties 选择了一个可能的解决方案,并尝试在此处提出一个澄清问题。好吧,第一响应者说我实际上不需要用 DP 废话把我的代码弄得乱七八糟,所以我再次更改了它——它仍然不起作用。任何人都可以提出一个可行的解决方案吗?这似乎应该如此简单。

需要明确的是:这只需要单向绑定,每隔几秒更新一次值。

0 投票
1 回答
123 浏览

silverlight-3.0 - Silverlight:删除模板部件

我有一个关于模板部分的问题。我想创建一个继承自 ChildWindow 的控件,但我不希望它有边框、确定/关闭按钮等。

删除我不想要的模板部分是否可以接受?我在 Blend 中创建了 ChildWindow 模板的副本并删除了模板部分,它工作正常 - 我只是想确保这不会导致任何问题。

谢谢,查尔斯

0 投票
2 回答
1080 浏览

wpf - 更改 ControlTemplate 中的常用颜色

我有一个 ControlTemplate 在多个元素中使用相同的颜色。在某些触发器(例如 OnMouseOver)上,我想更改该颜色。据我所知,我必须为每个元素定义一个设置器来改变它的颜色。有没有办法在模板中引用所有包含的元素都可以访问的共享资源,并且可以通过触发器进行更改,所以我不必处理每个元素?

这是一个(编造的)示例:

当控件被禁用时,我希望椭圆为灰色,而不是明确设置它们,例如我不想

但是只用一个setter 设置两个椭圆的颜色。

0 投票
1 回答
1220 浏览

wpf - 如何引用控件模板中的元素

说我想在CheckBox里面放一个Button. 无论如何我可以在代码中引用该复选框吗?即在 Window1.cs 我想写类似的东西testButton.innerCheckBox.DoStuff()

0 投票
1 回答
1034 浏览

c# - 在 Silverlight 中重用自定义样式

通过修改RowStyleaDataGrid我创建了一个自定义网格,当鼠标悬停在行上方时,它将在行的末尾显示一些按钮:

自定义数据网格

DataGridRow我基于默认样式创建了一个新样式。然后我修改了 XAML 以将我的按钮添加到一个StackPanel(省略详细信息):

使用以下DataGrid样式修改:

我想以类似的方式创建另一个网格,但在行的末尾有一组不同的按钮。我可以创建我的样式的文本副本并相应地修改它,但我希望我可以创建一个适当的可重用类。我不确定如何解决这个问题,因为我想从我的风格中排除的东西是风格内的控件(按钮)集合。

到目前为止,我的方法是创建一个MyDataGridDataGrid. 我添加了一个新属性RowControlsMyDataGrid使我能够像这样实例化它:

MyDataGridRowStyle如上所述使用 a 。但是集合的内容是如何MyDataGrid.RowControls进入到Content样式RowControlsPanel中的呢?我想我应该在OnApplyTemplate中这样做DataGridRow,但是我需要MyDataGridRowDataGridRow. 不幸的是,它似乎DataGrid是硬编码的DataGridRow,我无法注入我自己的派生行类。我觉得我需要以不同的方式解决我的重用问题,但我不确定如何?

通过添加新属性和修改控件模板来自定义按钮等简单控件非常容易,但是如何自定义复杂控件,例如DataGrid我需要自定义的模板嵌套在网格内的位置?

0 投票
2 回答
472 浏览

wpf - TemplateBinding 不适用于 .NET 框架对象

我是新手使用ControlTemplate. 我正在编写我的第一个控件,但我遇到了(在我看来)一个非常奇怪的问题。

我使TemplateBinding工作的任何依赖属性,但来自 .NET 框架对象的任何属性,即Contenta的属性ContentControlItemsan 的属性ItemsControl都不会在运行时填充。

我确定我错过了一些东西......我不知道它是什么......

代码示例如下:

该类目前非常简单:

模板是:

ContentControl类是位于 System.Windows.Controls.Control 命名空间中的 .NET 类。

谢谢,

亚当