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

c# - 设置 ContentPresenter.Style 时如何引用“PreviousData”

在下面的代码中,我试图通过检查 PreviousElement 是否为空,将集合中第一项的样式设置为一个模板,并将其余项设置为不同的模板。我认为我的相对来源不正确,因为触发条件始终为真。路径应该是什么?

0 投票
1 回答
541 浏览

wpf - 基于视图模型属性运行动画?

我正在尝试真正遵守 MVVM 模式,因此我很难弄清楚如何在每次设置视图模型上的某些属性时(通过绑定)让视图上的动画触发。

在我的 MainWindow.xaml 中,我有一个 ContentPresenter,我将该演示者的内容绑定到向用户显示的当前视图的视图模型。例如,当用户第一次运行应用程序时,ContentPresenter 将绑定到 StartViewModel。例如,如果用户单击将他/她带到不同屏幕以运行研究的按钮,则需要将 ContentPresenter 绑定到 StudyViewModel 以便显示 StudyView 屏幕。然后,如果用户希望返回到起始屏幕,此时的 ContentPresenter 将再次绑定到应用程序启动时创建的 StartViewModel。它看起来像这样:

CurrentContentViewModel 属于“ViewModelBase”类型,它是我为所有实现 INotifyPropertyChanged 的​​视图模型创建的基类。我在幕后保留 ViewModelBase 的 ObservableCollection ,每次发生一些应该导致用户转到新屏幕的事件时,我都会在该集合中查找适当的视图模型并将 CurrentContentViewModel 设置为该视图模型。如果它在我的集合中尚不存在,我首先将其添加到集合中,然后将 CurrentContentViewModel 设置为该视图模型。

我的问题是:如何让我的视图在每次显示视图时运行“介绍”动画?我无法将情节提要设置为每次在我的 ContentPresenter 中简单地加载视图时运行,因为我还想在用户返回到应用程序生命周期中先前已加载的视图时再次运行动画。最重要的是,我的视图是“愚蠢的”并且不知道它再次显示在 MainWindow 中,因为我的 MainWindow 上的 ContentPresenter 绑定到视图模型而不是视图(所以它几乎就像 VIEW MODEL 会每次绑定到内容呈现器时都必须触发某个事件,并且视图必须响应该事件)。

提前感谢任何人可能有的任何想法,如果这个问题已经被问到,我们很抱歉。我发现了一些类似的帖子,但与我想要做的完全不同。

更新 - 找到解决方案

事实证明(至少在我目前的实现中),这是一个比我意识到的更容易解决的问题。如果您使用数据模板模式构建视图(即在资源字典中为每个视图模型定义数据模板,然后将该资源字典添加到 app.xaml 文件的资源列表中),则每次都会重新创建视图它从内容控件中删除。就我而言,每次我将我的内容控件的内容绑定到与前一个不同的视图模型时,为该视图模型“构建”的视图实际上会被释放。然后,当视图模型再次重新分配给内容控件时,视图将重新构建。因此,我可以将我的屏幕介绍动画放在视图的 Loaded 事件中

我想分享这个,以防其他人面临类似的问题——我不知道这种使用数据模板来显示视图模型视图的行为。

0 投票
2 回答
282 浏览

silverlight - 设置自动生成的 ContentPresenter 的属性

考虑 Windows Phone SL 应用程序中可视化树的以下部分:

内容演示者

如您所见,PanoramaItem 模板包含对 static 的引用DataTemplateSelector。它是一个简单的类,它根据提供的 Key 动态地提供数据模板,为提供的不同视图模型显示不同的DataContext视图PanoramaItem。这是它的代码:

问题是我无法控制ContentPresenter您可以在上面的图像上看到选择的创建。为了获得一致的布局,我需要能够设置它的垂直对齐属性。我似乎不知道该怎么做,因为我无法引用 this ContentPresenter。如何设置 ContentPresenter 的属性?

0 投票
2 回答
1352 浏览

oracle - Oracle WebCenter 内容演示者模板

我需要创建一个内容演示者模板并将其集成到 webcenter 中。但我是这项技术的新手。任何人都可以提供任何参考,我可以从哪里学习这些东西,任何分步教程。任何信息都会非常有帮助。

0 投票
1 回答
881 浏览

wpf - WindowsFormsHost 内容在提供给 ContentPresenter 时不显示

我有WinForm想要放入 WPF DropDownButtons(Extended WPF Toolkit) 的控件DropDownContent。将控件放到 WindowsFormsHost 上,而那个控件是DropDownContent无效的。Winforms 控件不可见。在模板中,DropDownContent属性是ContentPresenter.

StackPanel, Grid如果我想用一个通用容器(等)来尝试整个故事,它可以正常工作。

有谁知道我该如何解决这个问题?

0 投票
2 回答
3208 浏览

silverlight - 如何在 Silverlight 的 ContentPresenter 中设置可能的 TextBlock 的 Foreground 属性?

我的 Silverlight 项目中有一个自定义按钮样式,并且想要设置按钮中文本的前景(和其他属性)。但我的想法是ContentPresenter在样式中使用 a 。这样,我仍然可以在 Button 中放置我想要的任何内容。

但是如果有文本作为内容,我希望能够设置某些属性,如 Foreground、FontFamily、FontSize 等。我还想在悬停时更改这些属性等。

这是我的风格(简化):

我找到的所有信息,告诉我添加TextBlock.Foreground="..."到 ContentPresenter,即:

但是,这对我不起作用。我收到一条错误消息,指出可附加属性 Foreground 不适用于 TextBlock 类型。这是因为该解决方案仅适用于 WPF,然后我如何在 Silverlight 中设置此属性?

我知道我可以通过<Setter>标签设置前景,但是如何在鼠标悬停时更改它?我想设置 ContentPresenter 的 Foreground,以便在 MouseOver VisualState 中,我可以更改它。

0 投票
1 回答
2401 浏览

wpf - 在 MenuItem HeaderTemplate 中使用 ContentPresenter 会导致 StackOverflowException

请注意以下标记:

将此样式添加到应用程序标记文件时,StackOverflowException会在运行时出现 a。

该样式被应用于ContextMenu附加到 a (或生成的树内容TreeViewItem的后续)的 a 的菜单项;DataTemplate当释放鼠标右键并且上下文菜单即将打开时,将引发异常。

的用例之一ContextMenu是:

该异常已隔离到<ContentPresenter />标头模板内的标记。注释掉它会清除异常。这里发生了什么?

0 投票
1 回答
1132 浏览

wpf - 从 TabControl 获取 ContentTemplate 的实例化 UIElement

我有一个TabControlwhereContentTemplateDataTemplate包含 a定义的ContentPresenter。映射UIElement类由DataTemplate特定 ViewModel 类型定义。它是这样工作的:

我的问题是我需要实例化 UIElements 的实例。在这种情况下,图表实例。我怎样才能得到它们?

0 投票
3 回答
437 浏览

silverlight - Silverlight 根据控件 CheckState 更改内容(切换多个 ContentPresenters)

我想根据当前的 CheckState(选中、未选中、不确定)更改控件的内容。如果可能的话,我希望解决方案只使用 XAML 并且不需要任何代码。

我想知道使用哪个控件以及如何定义多组内容。

Example: A "ToggleContent" control that displays UserControl1 when the checked state is Unchecked and UserControl2 when the checked state is Checked.

XAML 可能看起来像这样:

0 投票
1 回答
6789 浏览

wpf - 彩色动画 ContentPresenter

我无法在 ContentPresenter (NormalTextDay) 中创建动画或自定义颜色,此错误出现在我的 XAML 中:

'System.Windows.Media.Animation.ColorAnimation' 动画对象不能用于动画属性'Foreground' 这是因为不兼容的类型'System.Windows.Media.Brush