问题标签 [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 回答
1535 浏览

wpf - 在 ComboBox 的右上角放置一个小图像

我有一个普通的组合框。

在此处输入图像描述

现在我想在右上角放置一个 16x16px 的小图像。

在此处输入图像描述

我试过这段代码:

但它只显示图像,而不是组合框......

0 投票
2 回答
8656 浏览

wpf - 如何将 UserControl 加载到 (WPF) 窗口中的 ContentPresenter 中?

我有一个包含 Viewbox 的窗口。在那个 Viewbox 中,我想拥有我已经创建为 UserControls 的几个视图之一。我正在使用 MVVM(模型视图视图模型)设计模式。我在网上搜索了大约一个小时,但找不到任何示例或教程来解释如何使用ContentPresenter.

0 投票
1 回答
924 浏览

wpf - 如何将 ViewModel 传递给 ContentPresenter 中显示的 UserControl 的构造函数?

我有几个应该显示相同数据的用户控件。每个 UserControl 都有不同的要呈现的数据布局。ContentPresenter 可以通过在我的资源中使用 DataTemplate 并将内容绑定到 StyleViewModel 来绑定到任何一个 UserControl。每个 UserControl 都与 DataTemplate 的 DataType 中定义的 ViewModel 相关联。与任何给定 UserControl 关联的 ViewModel 都继承自 StyleViewModel。UserControls 应该从 SettingsViewModel 获取他们的数据。UserControls 出现在主窗口中。

问题是我不知道如何使 UserControls 可以访问 SettingsViewModel 中的数据。

是否可以将对 SettingsViewModel 的引用传递给使用 ContentPresenter 显示的这些 UserControl 之一的构造函数?

是否有另一种方法可以在不使用 ContentPresenter 的情况下轻松地在不同的数据视图(即我的 UserControls)之间切换?如果是这样,我将如何使用户控件可以访问数据?

以下是我的 SingleLineViewModel.cs 中的代码:

其他 ViewModel 类似。它们本质上是从 StyleViewModel 继承的空类,因此我可以在我的 SettingsViewModel 中绑定到 StyleViewModel 类型的 Style 属性。StyleViewModel 也是一个从 ViewModelBase 继承的本质上的空类。

以下是我的 Resources.xaml 中的代码:

以下是来自 SettingsViewModel.cs 的代码:

以下是我的 MainView.xaml 中的代码:

0 投票
3 回答
17619 浏览

wpf - ListViewItem 自定义模板:ContentPresenter 保持为空

我的代码中有以下 ListView。views:GameCard是一个自定义UserControl,是一个包含三个项目{Binding}的有效对象。DataContext如果没有自定义,ItemContainerStyle一切都可以完美运行——列表显示三个GameCards带有正确信息等。一旦我添加了这个ItemContainerStyle部分,我只得到三个“ABCD”;所以数据仍然正确加载,但UserControl不再显示我的(我只添加了“ABCD”来检查数据是否存在,否则我除了空框什么都没有)。

我可以在网上找到的每条信息似乎都表明只需ContentPresenter在模板中添加一个元素就可以了,但在这种情况下似乎不行。我错过了什么?

0 投票
1 回答
1542 浏览

wpf - 尝试在 DataTemplate 中使用 ContentPresenter 时,UserControl 内容为空

我有一个主要的抽象代码类 BaseImpostorButton,继承了 UserControl。我有一个带有 xaml 和代码隐藏的子类 ClickableImageButton。

我在 ControlTemplate 中使用以下样式:

在 ListView 中用作原始 ListViewItem 时,我的 ClickableImageButton 显示正确。

但是:当在带有 ItemTemplate DataTemplate 的列表视图中使用它时,ClickableImageButton 不再显示......就像在 DataTemplate 内时内容为空一样。

我找到的解决方案是在 BaseImpostorButton 上编写一个 DependencyProperty ButtonContent 并在 xaml 中显式设置它。

但是有人可以解释这个问题吗?

编辑:这是 2 个不同的 xaml 正确显示底层图像的一个(ClickableImage 是一个图像)

而那个不工作的

0 投票
1 回答
2625 浏览

c# - 根据 WPF 中的选定选项更改内容

我有兴趣创建一个显示一些按钮并根据所选按钮更改视口的应用程序。我的应用程序中的视口是 a ContentControl,我想在单击按钮时更改其内容。但是,我相信有一个更好的方法,也许通过注入我想要呈现给的每个视图的 ViewModelContentControl并使用它们来设置样式DataTemplates(因为我想避免有一个包含许多控件的网格,并且只Visibility在我想的时候设置它们的属性显示特定视图)。哪种方法对您来说更好?您对此有不同的方法吗?

视图应该与此类似: 通用应用程序UI设计

谢谢!

0 投票
0 回答
108 浏览

c# - 使用 ContentPresenter 个性化模板

我创建了一个 ressourceDictionnary 来创建一个 templateButton。我希望能够在使用此模板时更改 png 图像,我想我需要使用 ContentPresenter,但我不知道为什么。

这是我的 RessourceDictionnary :

因此,当我使用此 Button 模板时,我希望能够将其他 png 图像传递给它们以显示。例如,我想用 MyPicture.png 替换 xRtDiva_XWPF_TBR_PREMIER.PNG_IMAGES.png。

这是怎么做的?使用 contentPresenter ?

谢谢 :)

0 投票
1 回答
1092 浏览

wpf - DataGridTemplateColumn 在 HeaderStyle 中使用 ContentPresenter

DataGridTemplateColumn在我的 XAML 中使用了几个 s DataGrid,每个都是一组文本框,因为我想要列的分组标题布局(例如,合并列作为 excel 中的标题)。

所有这一切都很好,因为我正在使用HeaderStyle列的属性来加载一个定义布局并实现分组标题的StaticResourcefor 。StyleGrid

问题是,需要将Header属性DataGridTemplateColumn绑定到模型成员(或 StaticResource ?),因为它将包含将在 a 中使用的字符串值ContentPresenter,它是HeaderStyle. ContentPresenter资源中的Style定义如下:

但这不起作用。它仅适用Header="SomeString于 ,但只要我将其更改为 Header="{Binding Something}"Header="{StaticResource SomeResource}"它只显示一个空白标题。

我在这里错过了什么吗?

0 投票
0 回答
186 浏览

wpf - WPF MVVM 内容演示者

我正在尝试在 WPF 中实现主详细信息表单。The master shows a list of records (objects) which when one is selected the detail view then just renders that object/shows the fields.

但是,如何将命令放在详细视图中?

IE 如果用户更新了一条记录,我该如何保存它?

视图只是绑定到模型类型,而不是视图模型,我不知道如何将它绑定到视图模型并因此访问命令。

0 投票
2 回答
1670 浏览

c# - 如何将 bmp 加载到 ContentPresenter?

我有一个 ContentPresenter 内容,我刚刚从文件中加载了一个 bmp。我希望 bmp 出现在 ContentPresenter 中并利用缩放功能。

我拥有的代码(仅显示 bmp 文件的路径)是: