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

c# - 有没有一种简单的方法可以使用 ScrollViewer 在 ContentPresenter 中的位图图像上计算鼠标坐标?

我在附加到 ScrollViewer 的 ContentPresenter 中有一个位图图像 (2000 x 2000)。所以图像可以缩放和滚动。

有没有一种简单的方法可以知道鼠标相对于图像的 x,y 坐标?也就是说,当我将鼠标移到图像上时,它会返回它经过的像素的相应 x,y 吗?

更糟糕的情况是计算与窗口边缘的偏移量,然后将鼠标的 x,y 乘以滚动和缩放因子。

我只是想知道 WPF 中是否已经有一个内置的方法可以处理这个问题。

0 投票
1 回答
1502 浏览

wpf - 当内容演示者的可见性从折叠状态切换到可见状态时,绑定在内容演示者内部不起作用

VisibilityofContentPresenter设置为Collapsed并在运行时更改它Visibility时,会破坏保留在其内容中的元素的绑定。

XAML

Code

任何一个帮助。

0 投票
0 回答
929 浏览

wpf - WPF contentpresenter 高度

在显示子窗口的自定义控件中,我想将 Canvas 内的网格的左侧和顶部设置为显示在父控件的中心。

但是 ActualHeight 第一次被调用为零。下次高度是以前的内容而不是分配的新内容。

如何获取内容展示者的实际身高?有什么活动吗?

0 投票
0 回答
250 浏览

wpf - 更改列表框项目的行为,例如表达式混合中的单选按钮

我有一个ListBox.

我想在 的每个项目中都有一个ContentPresenter、一个Image和一个。RectangleListBox

所以我决定为ListBox.

现在,我在ContentPresenter.

  1. 图像的路径和

  2. 矩形的颜色。

所以我创建了一个示例数据源,并将路径和颜色Rectangle分别绑定到图像源和填充。

我没有直接将矩形填充绑定到示例数据源的颜色(值)。我已经使用Behavior将它绑定在矩形的LeftMouseButtonDown事件中。changePropertyAction

现在,我可以在单击 时更改矩形的颜色Rectangle

但问题是我还想在单击任何矩形时将其他矩形的颜色更改为其初始颜色。我的意思是我希望它们表现得像单选按钮。

这就是我所拥有的:

在此处输入图像描述

这就是我要的 :

在此处输入图像描述 在此处输入图像描述

0 投票
1 回答
636 浏览

wpf - 尝试创建自定义面板但得到:该对象已经有一个孩子并且无法添加“按钮”编译器异常

我对 wpf 很陌生。

我正在尝试制作一个带有一些精美设计边框的自定义面板。我让一切正常,但前提是我在自定义面板中只有 1 个控件。如果我尝试添加多个,则会出现以下异常:

对象“BordersPanel”已经有一个孩子,不能添加“按钮”。'BordersPanel' 只能接受一个孩子。

我花了很多时间试图在网上找到解决方案,但到目前为止还没有。所以我正在向社区寻求帮助。

面板样式:

后面的 C# 代码:

这就是我使用它的方式:

我很确定我遗漏了一些非常明显的东西,但这就是明显的东西,你越看它们,它们就越能躲避你......

顺便说一句,如果您认为有更好的方法来做我所做的事情(使用绑定、面板等),欢迎发表评论。:)

要非常清楚:在我使用之前:

每次使用面板时,我都会一遍又一遍地使用此代码。

显然我在前面的代码块中写的更短,更容易维护。(至少在我看来)这就是为什么我制作这个带有边框的自定义面板以避免重复代码。

0 投票
0 回答
130 浏览

wpf - 如何使在一个视图的构造函数中创建的 ViewModel 的属性可以访问在 ContentPresenter 中创建的另一个视图?

我正在使用 MVVM(模型、视图、视图模型)设计模式编写 C# 应用程序。

我有一个UserControl叫ucDesigner。这是UserControl主窗口内唯一的。以下代码是文件 ucDesigner.xaml.cs 中 ucDesigner 的构造函数的定义:

上面的代码创建了一个新的 DesignerViewModel 并将其设置为DataContextucDesigner 视图的。

以下代码是 DesignerViewModel 的定义:

DesignerViewModel 的构造函数创建一个新的 DrawViewModel 并将其分配为 DesignerViewModel 中 DrawVM 属性的值。

ucDesigner 有一个ContentPresenter显示DataTemplateucDraw 视图(UserControl 类型)的 with。以下代码来自 ucDesigner.xaml:

我希望使用ContentPresenter.

0 投票
1 回答
527 浏览

.net - “ContentPresenter.Content”内存泄漏

我正在使用以下产品:VS 2010、.Net 4、WPF 和 .Net Memory Profiler 版本 4.6.40.0 Pro。它们都在 Win7 64 位上运行。我一直在使用 .Net Memory Profiler 来追踪内存泄漏,并发现了一个我不理解的漏洞,即使我似乎已经修复了它。我们有一个包含三个 ContentPresenter 对象的控件。如果我在 Cleanup 方法中将 ContentPresenter 对象的 Content 属性设置为 null,则控件根本不会泄漏。如果我不清空 Content 属性,我们会得到很大的泄漏(每次测试大约 3.5 MB)。

我在 Google 搜索中看到的结果似乎并没有直接解决这个问题。ContentPresenter 的文档也没有帮助我。这里有谁明白为什么将内容归零修复了泄漏?有没有更好的方法来完成同样的事情?

我会注意到 ContentPresenter 之一在 WindowsFormsHost 和 BitmapSource 之间动态切换以处理空域问题。

更新:这里是清理的相关部分:

首先,取消 ContentPresenter 的

然后清理 WindowsFormsHost

0 投票
0 回答
66 浏览

wpf - 无法绑定 ContextPresenter.ContentTemplate

我想绑定ContentTemplatePropertyContentPresenter

视图模型:

所有其他绑定控件更新正确并且 ExtraConsole 类中的 ExtraConsole 、 ViewModel 和 DataContext 的值通知为更改,但我更改ExtraConsole.DataTemplateNotify及其Property Changed

但没有发生任何变化UI

有什么建议么?

0 投票
1 回答
821 浏览

wpf - 如何自定义 WPF Datagrid 中列标题的显示?

我正在尝试自定义 DataGrid。我想在列标题上方插入一些内容。我正在尝试使用 ControlTemplate 来执行此操作。我在下面有我的 XAML 代码。我的问题是<ContentPresenter />没有输出任何东西。当我加载页面时,afterTextBlock 直接出现在 TextBlock 下方,before中间没有任何内容。我想在该空间中显示列标题。

如何在beforeTextBlock 和afterTextBlock 之间显示列标题?我的 List 对象只是一些具有几个公共属性的通用类的 BindingList。

0 投票
3 回答
5415 浏览

c# - 如何设置 ContentPresenter 内容背景

我有一个ListBox绑定到一个ObesvableCollection动态创建的UserControls.

我想设置所选控件的背景应该是这样的

但这样我设置ListBoxItem Background它并不会传播用户控件背景......

我现在解决它的方法是使用这样的 Selector.Selected/UnSelected 事件处理程序

任何想法都会非常受欢迎