问题标签 [contentcontrol]
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.
wpf - 用户控件中的 WPF Expander 在 ListBox 项中变得透明
我在用户控件中的 WPF Expander 遇到问题,该控件在 ListBox 中呈现。本质上,我试图在我的 ListBox 中的每个 ListItem 上获得 PopUpButton 行为。当我打开扩展器时,内容在其他所有内容之后呈现,就好像它是透明的,或者在 z 顺序中更低。我也尝试过使用 WPF PopUp 和 Toggle Button(使用在 Karle Shivllet 的博客中描述的技术——带有弹出内容的扩展器控件),但无济于事。
让我先描述一下我正在尝试做的事情。我有两个控件显示我需要为我的应用程序配置的输入列表。为简单起见,一个用户控件用于配置图形的输入,另一个控件用于控制简单 Excel 网格的输入。图形和网格的输入都有需要配置的属性。我开发了一个名为 InputSelectControl 的简单用户控件,它将呈现一个 ListBox,其中包含要为图形或网格配置的输入列表。ListBox 中的每个 ListItem 都包含一个用于输入名称(例如压力、ECG 等)的 TextBlock 和一个 WPF 扩展器,当单击该扩展器时,该扩展器会显示该输入的属性编辑器。由于属性编辑器的呈现方式会有所不同,具体取决于我处理的是图形输入还是网格输入,我在 InputSelectControl 上使用了 ControlTemplate 类型的 DependencyProperty。这允许我的网格和图表分别提供他们编辑输入属性所需的演示文稿。另请注意,我将不只是需要此行为的图形和网格,因此希望使其成为可以动态接收呈现行为的用户控件。
我尝试将 Expander 放在我的属性编辑器模板中,也尝试在不同的地方尝试使用 ZIndex,但总是以相同的行为结束,Expander 弹出窗口显示在列表中的 ListItems 后面。
下面是一些代码,进一步描述了我的方法。希望有人能帮我摆脱这个泡菜。
XAML 表示我的 Grid(可能是图形或其他东西)控件,它包含我的 InputSelectControl:
XAML 表示我的InputSelectControl,它显示我的输入列表和我希望我的“弹出行为”用于编辑属性的每个 ListItem 的 ContentControl 占位符:
C# 代表我的 DependencyProperty 用于注入属性编辑器模板以显示在弹出窗口中。
XAML 代表我的 GridInputPropertyEditor,它是描述用于编辑网格属性的演示文稿的模板。这对于 Graph 会有所不同:
使用 Snoop 我能够弄清楚,如果我将 ListBox 项的 Z-Index 设置为较高的数字,我的属性编辑器就会出现在前台。如果有人看到更好的解决方法,请告诉我。否则,我可以使用一些帮助来提出触发器,以根据所选项目提高和降低 zindex。
wpf - WPF Access control inside ContentControl
I am having a very hard time trying to access my Grid (listBoxGrid) from inside the ContentControl from code behind. Any help or pointers would be great!
Thanks Ryan
I have tried
But that doesn't seem to work.
wpf - WPF:找不到触发目标“cc”。目标必须出现在任何 Setter、Triggers 之前
以下代码有什么问题?
我在编译期间收到此错误:
属性“TargetName”不代表“Setter”的有效目标,因为未找到名为“cc”的元素。确保在使用它的任何设置器、触发器或条件之前声明目标。
我如何重构我的代码,这样我才能编译它而不会出错?
我只想切换一个 DataTrigger 绑定到我的 PersonViewModel 中的值的数据模板!
silverlight - Silverlight 列表框自定义样式
我在我的资源文件中定义了一个样式,如下所示
我不知道在数据模板中放什么
我尝试使用
乃至
但收到此错误
未能分配给属性“System.Windows.FrameworkElement.Style”。
DataTemplate
如果我想提供自定义样式,我应该在标签之间添加什么?
wpf - ContentControl 崩溃中的绑定
谁能告诉我为什么这会使我的应用程序崩溃?我不知道为什么似乎有一些无休止的递归。我得到了这个例外
遍历树时超出逻辑树深度。这可能表明树中有一个循环
这就是我作为来源的全部
wpf - 在自定义 WPF 画布中强制排列
我正在从事一个涉及创建自定义图形编辑器的项目。图形编辑器有多个选项卡,我想创建一个预览功能,该功能将显示一个弹出窗口,其中包含每个选项卡内容的位图预览。但是,我遇到的问题是,必须先安排每个选项卡的内容,然后才能为其生成正确的预览。这意味着进入每个选项卡以确保它们被渲染和排列。然后,只有这样,预览才能正确生成,否则预览的大小为 0x0。有人知道如何强制安排内容控件,以便我可以生成适当大小的预览吗?
wpf - WPF - ContentControl 内容为 DrawingVisual
我可以将 ContentControl 的 Content 属性设置为 DrawingVisual 对象吗?它在文档中说内容可以是任何东西,但我尝试过,当我将控件添加到画布时没有任何显示。是否有可能,如果可以,您可以发布将内容为 DrawingVisual 的 ContentControl 添加到画布的完整代码吗?
wpf - WPF - 将 ContentControl 添加到自定义画布
我有一个从 Canvas 继承的自定义 DrawingCanvas。当我使用以下代码将 ContentControl 添加到 DrawingCanvas 时,没有显示任何内容。
GraphicsRectangle 是一个 DrawingVisual,上面的构造函数将左上角 (0,0) 点和长度为 200 的 Rect 绘制到 GraphicsRectangle 的绘图上下文中。DrawingContainer 是一个 FrameworkElement,它有一个子元素,它是上面的矩形,带有构造函数。DrawingContainer 实现 GetVisualChild 和 VisualChildrenCount 覆盖方法。最后,将 ContentControl 的 Content 属性设置为 DrawingContainer,以便能够显示 DrawingVisual 的内容。
当我将创建的 ContentControl 添加到常规 Canvas 时,控件会正确显示。我猜原因是 DrawingCanvas 没有实现 ArrangeOverride 方法。它只实现 MeasureOverride 方法。此外,DrawingContainer 不实现 Measure 和 Arrange 覆盖方法。有任何想法吗?
wpf - WPF - 在画布内裁剪 ContentControl
我有一个 ContentControl,它的内容是一个自定义的 FrameworkElement。FrameworkElement 只有一个孩子,它是一个 DrawingVisual。基本上,ContentControl 是 DrawingVisual(包含形状)的容器,并且 ContentControl 具有用户用来拖动、调整大小、旋转控件的拇指。ContentControl 被添加到要显示的 Canvas 中。我想将 ContentControl 的剪辑区域设置为 Canvas 中的特定区域。但是,当我将 ContentControl 的 Clip 属性设置为此区域(在 Canvas 坐标系中指定的 RectangleGeometry)时,ContentControl 内的 DrawingVisual 会被剪裁,就好像给定区域位于 ContentControl 的坐标系中一样。
我可以限制用户只在这个区域内拖动,但我不想这样做。我希望用户能够拖到外面,并且当 ContentControl 的一部分在外面时,我不希望该部分被渲染。我怎样才能做到这一点?
wpf - 装饰 UserControl WPF
我想在组中装饰一些控件,例如:
并在其他 XAML 文件中使用它,例如:
但它不起作用。我做错了什么?:) 谢谢