问题标签 [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 投票
4 回答
2182 浏览

wpf - 我在 ControlTemplate 中有一个按钮。我如何获得它的参考?

我只想为我正在使用的 WPF 编辑器启用或禁用 ControlTemplate 中的按钮。

0 投票
2 回答
3549 浏览

wpf - WPF:更新列表框项目中的标签

我有一个ListBox根据用户设置的整数属性添加项目数的地方。这些项目是从ControlTemplate由标签和TextBox内部组成的资源创建的DockPanel。标签不是数据绑定的,但我希望它具有基于ListboxItem它所包含的 (index + 1) 的某种动态内容。我的问题/问题是我希望能够更新每个标签的内容ListboxItem,但由于某种原因无法访问标签。我不知道有任何方法可以通过标签的数据绑定来做到这一点,因为标签在模板中并且不知道它的父级是ListboxItem. 任何人都可以帮助我消除其中的一些困惑,让我回到正确的轨道上吗?

我希望能够绑定Labelxaml中的内容,或者更新Label后面代码中的内容。我不确定最好的路线是什么。

0 投票
7 回答
147165 浏览

.net - ResourceDictionary 在单独的程序集中

我有想要在多个单独的应用程序中使用的资源字典文件(MenuTemplate.xaml、ButtonTemplate.xaml 等)。我可以将它们添加到应用程序的程序集中,但最好将这些资源编译到一个程序集中并让我的应用程序引用它,对吗?

构建资源程序集后,如何在我的应用程序的 App.xaml 中引用它?目前我使用 ResourceDictionary.MergedDictionaries 来合并各个字典文件。如果我将它们放在程序集中,如何在 xaml 中引用它们?

0 投票
3 回答
18900 浏览

wpf - 如何更改 ControlTemplate 中标签的字体大小

在我的 WPF ListBox 中,我有一个 ListBoxItem 的 ControlTemplate 样式。在那个 ControlTemplate 里面我定义了一个标签。根据一些细节,我需要更改标签的字体大小。所以从我的代码隐藏中,我需要确定字体应该是什么,然后我需要设置它。

这是我使用 ControlTemplate 的风格(我已经去掉了一些不相关的控件)

我怎样才能做到这一点?

0 投票
3 回答
12350 浏览

wpf - 如何将 ScrollViewer 放在它应该滚动的内容之上

我想把我的 ScrollViewer 放在这样一种方式,它重叠/坐在它滚动的内容之上。我会设置 ScrollViewer 的不透明度,以便内容在下面可见。

据我了解默认的 ScrollViewer,这似乎不可能开箱即用,因为内容嵌套在 ScrollViewer 内。

关于如何使这项工作的任何想法?

编辑:我知道 ScrollViewer 是一个装饰器,并且内容不知道 ScrollViewer。这种分离很好,我不希望内容知道 ScrollViewer。我尝试做的是纯粹的视觉(布局)事情。只需在内容顶部显示 ScrollViewer。ScrollViewer 的行为应保持不变。

0 投票
1 回答
1039 浏览

wpf - WPF:使 ControlTemplate 中的控件无效

我创建了一个在 OnRender 方法中绘制一些自定义图形的装饰器。图形取决于包含装饰器的对象的位置。我通过样式通过模板属性设置装饰器。问题是装饰器的 OnRender 方法在应用模板时只被调用一次。因此,当我更改对象的位置并在该对象上调用 InvalidateVisual() 时,不会重新渲染装饰器。

我设法通过将对象的模板设置为 null 然后将其重置回相同的模板来解决此问题,如下所示:

这可以解决问题,但我确信这不是应该的方式。我错过了什么?

0 投票
1 回答
1031 浏览

wpf - 将 ControlTemplate 与用户控件混合使用是个好主意吗?

拥有同时支持s 和现有内容的用户控制 ( )是否可能并且是个好主意?我知道s 应该只在您从 Control ( ) 继承时使用,但我发现如果您的 UserControl.xaml 为空,您也可以使用它们。public MyControl: UserControlControlTemplateControlTemplatepublic MyControl: ControlUserControl

想象一下,我有一个控件,它有两个并排的矩形,如下所示:

我希望控件的用户能够用FrameworkElement他想要使用的任何东西替换这些矩形。所以我需要一个ControlTemplate.

但在 99% 的情况下,控件的用户对现有功能感到满意,所以我希望他能够说:

后面的代码:

XAML:

这似乎是不可能的,因为如果我支持控件模板,我真的没有任何 UI 元素或 xaml。我只有文件后面的代码。我想我可以有一个DependencyProperty Left,但只要我没有某种容器来保存不会有多大好处的内容。我必须在文件后面的代码中创建网格。似乎不是一个好主意。

最后,我希望能够使用泛型,以便用户可以指定部件的类型:

由于类型安全(无需FrameworkElement转换为正确的类型),这将有助于代码背后的代码。不幸的是,我认为 XAML 方面并不真正支持泛型。

有没有解决这个问题的方法,还是真的“从 Control 继承以支持ControlTemplates 但失去控件的易用性。从 UserControl 继承以支持易用性但失去ControlTemplate支持”?

0 投票
5 回答
139034 浏览

.net - 如何创建一个没有边框的WPF窗口,只能通过手柄调整大小?

如果您ResizeMode="CanResizeWithGrip"在 WPF 上进行设置,Window则右下角会显示调整大小的夹点,如下所示:

如果您也设置WindowStyle="None"了,标题栏会消失,但灰色斜边仍然存在,直到您设置ResizeMode="NoResize". 不幸的是,在设置了这种属性组合后,调整大小的夹点也消失了。

我已经通过自定义覆盖了Window's 。我想自己指定窗口的边框,并且我不需要用户能够从所有四个侧面调整窗口的大小,但我确实需要调整大小的手柄。ControlTemplateStyle

有人可以详细说明满足所有这些标准的简单方法吗?

  1. 除了WindowControlTemplate.
  2. 右下角有一个有效的调整大小手柄。
  3. 没有标题栏。
0 投票
1 回答
4650 浏览

wpf - WPF:使整个边框可点击

我正在尝试在 WPF 中实现一个按钮,当您单击它时会显示一个菜单。我已经完成了所有工作,控件的 ControlTemplate 如下所示。(该控件扩展了 ToggleButton)。

问题是,仅当用户单击路径绘制的小箭头时才会显示菜单。有什么办法可以让整个边框 HitTestVisible?

0 投票
1 回答
1486 浏览

wpf - 是否可以使用可检查的 MenuItem 作为 RadioButton 的控制模板?

我的 WPF 应用程序中有一个菜单,其中包含多个选项,它们就像一个单选按钮组(选择一个取消选择其余选项)。我想使用可检查的菜单项作为单选按钮的模板。

我试图设置模板,但它似乎不像预期的那样工作。选择和取消选择项目似乎与单选按钮的值不同步。

我想我可以使用更复杂的模板并使用 Path 或其他东西“伪造”选定的标记,但对于这样一个简单的目的来说,这似乎需要做很多工作。此外,当使用更复杂的模板时,我必须解决我不想做的不同主题。

这是一个简单的例子来演示这个问题。