问题标签 [contentpresenter]

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 回答
47280 浏览

wpf - 更改列表框中内容演示者的前景色

我为列表框创建了以下样式,该列表框将在某些文本旁边显示图像:

我必须使用 contentpresenter,因为我正在使用 ListBox 本身的 DisplayMemberPath 过滤显示的内容(文本方式)。

我要做的就是在 ListBox 中选择一个项目时将 FontWeight 设置为 Bold 并将 Foreground 设置为 White。

有没有人遇到过这样的问题?我查看了一些相关问题,但人们已经能够使用 TextBlock 来解决他们的问题,但不幸的是我无法解决。

任何人都可以提供的信息将不胜感激。

干杯

0 投票
1 回答
753 浏览

wpf - 如何从数据绑定的 ItemsControl 中获取模板化项目的实例?(WPF)

我有一个<ItemsControl>带有自定义的<DataTemplate>(还有一个<ItemsPanelTemplate>只是 a的自定义WrapPanel),通过绑定ItemsSource到一个简单的可观察字符串集合。

DataTemplate仅包含一个自定义实例,其UserControl属性通过 绑定到字符串{Binding}

问题是因为我的数据项只是字符串,我需要UserControl直接以编程方式访问我的实例,但我似乎无法弄清楚如何!

我试过了:

...但这只是返回字符串。还:

...返回 a ContentPresenter,我不知道如何处理ContentPresenter以获取 my 的实例UserControl

??

这类似于这个问题,但它从未得到正确回答,并且也是 Silverlight 特有的,而这是 WPF。

0 投票
3 回答
3731 浏览

wpf - 如何制作具有多个内容值的 Button?

我的目标是制作一个具有两个 Content 值的 Button。

将 Scrabble 瓷砖想象成一个按钮:它的中心是大字母,右下角有一个小数字。这就是我想要的效果。

我制作了一个按钮,其中包含两个 ContentPresenter 对象,并且我为每个 ContentPresenter 赋予了不同的样式。但是,我还没有找到一种方法来给每个演示者一个单独的值(即,如果我将按钮的内容设置为“X”,那么两个 ContentPresenter 都显示“X”,尽管样式不同)。

我怎样才能实现我的目标?我猜我的方法是完全错误的......

0 投票
2 回答
23770 浏览

wpf - 如何更改 ContentPresenter 上的 FontFamily?

我有一个用于扩展器的自定义模板,它与下面的代码很接近。我不得不更改一些代码来取出自定义类、画笔等。

如您所见,有两个 ContentPresenter。我希望第一个使用 Tahoma Bold 作为字体而不是默认的 Tahoma。我怎样才能做到这一点?

0 投票
1 回答
4557 浏览

wpf - 如何用图形路径完全替换 WPF 按钮的内容?

我已经使用 Blend 解构了一个标准 WPF 按钮,并设法创建了一个样式精美的按钮,但我无法弄清楚如何使路径填充按钮空间的内部(按钮宽度和高度)。我也不确定是否需要指定 ContentPresenter 或者它是否正确。我在按钮中间的文本之后(正常),但后面有我的图形路径。

谁能给我有关如何完成此任务的反馈?样式定义为;

这个按钮的用途是;

完成后,它应该看起来像一个弯曲的红色按钮。

提前致谢

瑞安

0 投票
1 回答
1807 浏览

wpf - 我可以让两个 ContentPresenter 指向 ContentTemplate 中的单个 Content 或 ContentSource 吗?

我像 Outlook 2007 一样创建了 NavigationPane。在 Outlook 中,当窗格折叠并单击侧栏时,它会弹出 Selected NavigationItem 内容。我在 ControlTemplete 中使用 contentpresenter 模仿了相同的行为(一个用于 TabControl 的 SelectItemHost,另一个用于 Popup)。但问题是当弹出窗口打开时,NavigationPane 在离开时选择了内容,当我们从另一个导航项切换回同一个导航项时它会出现。我使用 TabControl 和 TabItem 作为 NavigationPane 和 NavigationPaneItem。

我将“SelectedContent”指向两个 ContentPresenter 的 ContentSource

0 投票
6 回答
615 浏览

wpf - 控件在 WPF 中交换 UIElements

UIElement在 UI 上的某个“插槽”动态交换 s 的最简单方法是什么?我有许多UIElements 并且基于一些外部数据绑定(例如组合框选择),我希望显示其中一个,而隐藏当前可见的一个。所以行为有点像,TabControl但没有 tabstrip、chrome 和 tabitem 实例。所以我实际上可以使用TabControl并覆盖控制模板。但这真的是最小的方法吗?

0 投票
3 回答
27055 浏览

wpf - WPF:带有 2 个(或更多!)ContentPresenters 的模板或 UserControl 以在“插槽”中呈现内容

我正在开发 LOB 应用程序,我需要多个对话框窗口(并且在一个窗口中显示所有内容不是一个选项/没有意义)。

我想为我的窗口提供一个用户控件,它可以定义一些样式等,并且会有几个可以插入内容的插槽 - 例如,模式对话框窗口的模板将有一个用于内容和按钮的插槽(这样用户就可以提供一个内容和一组带有绑定 ICommand 的按钮)。

我想要这样的东西(但这不起作用):

用户控件 xaml:

这样的事情可能吗?我应该如何告诉 VS 我的控件公开了两个内容占位符,以便我可以这样使用它?

或者,也许我可以将 ControlTemplate 用于像这里这样的窗口,但话又说回来:窗口只有一个内容槽,因此它的模板只能有一个演示者,但我需要两个(如果在这种情况下它可能会可能与一个一起使用,还有其他用例会出现几个内容槽,只需考虑文章的模板 - 控件的用户将提供标题、(结构化)内容、作者姓名、图像......)。

谢谢!

PS:如果我只想并排放置按钮,如何将多个控件(按钮)放到 StackPanel 中?ListBox 有 ItemsSource,但 StackPanel 没有,而且它的 Children 属性是只读的 - 所以这不起作用(在用户控件内):

编辑:我不想使用绑定,因为我想将 DataContext(ViewModel)分配给整个窗口(等于 View),然后从插入控件“插槽”的按钮绑定到它的命令 - 所以任何使用层次结构中的绑定会破坏 View DC 的继承。

至于从 HeaderedContentControl 继承的想法——是的,在这种情况下它会起作用,但是如果我想要三个可替换的部分呢?如何制作自己的“HeaderedAndFooteredContentControl” (或者,如果我没有 HeaderedContentControl,我将如何实现)

EDIT2:好的,所以我的两个解决方案不起作用 - 这就是原因: ContentPresenter 从 DataContext 获取它的内容,但我需要包含元素上的绑定以链接到原始窗口(逻辑树中的 UserControl 父级)DataContext - 因为这样,当我嵌入绑定到 ViewModel 属性的文本框时,它没有被绑定,因为控件内部的继承链已被破坏

似乎我需要保存父级的 DataContext,并将其恢复到所有控件容器的子级,但我没有得到任何事件表明逻辑树中的 DataContext 已更改。

EDIT3:我有一个解决方案!,删除了我之前的回答。看我的回复。

0 投票
1 回答
4102 浏览

wpf - wpf ContentPresenter 不会启用/禁用

我已经覆盖 aComboBox以便在组合末尾添加一个额外的按钮 - 我正在使用它来帮助导航我的应用程序。

它是一个 MV-VM 应用程序,具有编辑-保存/取消机制,根据用户是否处于“编辑模式”来禁用或启用控件。无论视图是启用还是禁用,我都希望我的导航按钮始终可用。

为了实现这一点,我将ToggleButton和绑定ContentPresenter到我的模型上的一个IsEditable属性。

切换按钮按预期启用和禁用,但组合的文本保持启用状态。

由于文本是由 传递的,ContentPresenter并且ContentPresenter有一个IsEnabled属性,我不明白为什么它不会禁用?

有人可以帮忙吗?谢谢安迪

0 投票
5 回答
99026 浏览

.net - ContentControl 和 ContentPresenter 有什么区别?

我不确定何时应该使用ContentPresenter而不是ContentControl(反之亦然)。目前,我ContentControl几乎一直在使用我DataTemplate的 s. 什么时候会ContentPresenter是更好的选择?为什么?