问题标签 [frameworkelement]
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.
c# - 不呈现 FrameworkElement 的子项
我创建了一个自定义 FrameworkElement 并通过 AddLogicalChild 方法添加了多个子项,它们也是 FrameworkElements。
但是没有渲染孩子,甚至没有调用 OnRender 方法。就像 MeasureOverride 和 ArrangeOverride 方法一样。
我做了一些研究,但我陷入了困境,也许有人可以帮助我。
这是我制作的两个类。在 ChildElement 类中,我在每个方法中都设置了一个断点。但是,如果调用了方法,则除了 ctor 之外没有。
c# - 如何在WPF中获取richtextbox最后一个词是否为BringIntoView(显示)?
我在 wpf 工作,我有一个包含一些内容的 Richtextbox。如果内容超出了richtextbox,我想隐藏底部边框。如果richtextbox 中的内容我想显示底部边框。现在我正在使用下面的代码来将超出的内容带到富文本框中查看。
但是我想显示底部边框,一旦该richtextbox中显示最后一个单词。如何实现这一点?
注意:我已经知道如何动态显示底部边框。但我想知道最后一个单词是否显示在 Richtextbox 中?
问候阿琼
wpf - 如何检测裁剪/裁剪的 WPF FrameworkElement/Canvas 是否有任何内容?
我有一个大画布,我正在尝试对其进行分页打印。我可以将画布分成页面大小的部分,可以裁剪(剪辑)内容,并将每个页面传递给打印方法。不过,我想跳过空白页,并且需要一些方法来检测内容是否为空白。
目前,我通过使用原始 Canvas 的 VisualBrush 将 Canvas 转换为 Rectangle 来“展平” Canvas:
然后我剪辑生成的 Rectangle 以将其裁剪为大小:
我想也许我可以使用 XamlWriter 来分析生成的剪辑 Canvas 并检测是否存在任何内容,但不知道该怎么做。在表示目标页面大小的原始画布上绘制一个矩形也是合理的,并检查是否有任何其他元素出现在其边界/碰撞内。我不确定。获得返回值或 null 之类的就可以了,我只需要通过整个路径找出我的裁剪部分没有内容。
c# - 属性更改时绑定到控件不会更新
我使用直接绑定到控件的Binding
+IValueConverter
来生成使用控件上的多个属性计算的结果。每当控件上的属性发生变化时,有什么方法可以调用转换器?
我知道可以使用 IMultiValueConverter 绑定到我想要的属性,但这会占用代码中的大量空间并中断流程。
示例代码:
主窗口.xaml
主窗口.xaml.cs
c# - 添加的拇指未呈现
我想实现自己的从 FrameworkElement 派生的控件,但未呈现添加的子元素。
我不知道为什么。
c# - 具有动态编程的 FrameworkElement 和 FrameworkContentElement 的通用接口
我试着简短地说:FrameworkElement 和 FrameworkContentElement 共享许多相同的 API,但没有通用接口。只有 DependencyObject 作为基类。
我遇到过IFrameworkElement 的这个实现,它手动添加了一个接口和两个包装类。现在这段代码是在 .NET 3.5 中实现的,作者评论说在 .NET 4 中使用动态编程会容易得多:
实际代码非常简单,但每个元素大约有 624 行。(这将是动态语言中更简单的单行实现 - C# 4.0 即将推出 :))。
我会很好奇它的实现会是什么样子。我认为它可以归结为 的动态实现IFrameworkElement
,并阅读ExpandoObject
并DynamicObject
查看我是否可以实现自己,但我有点难过。我想可以编写一个 DynamicObject 的自定义实现——但这不是一个单行。这真的可以通过动态编程变得那么容易吗?我什至不需要成为一个班轮,我可以用 10 甚至 100 行而不是原来的 1250。
我在想这样的事情:
c# - 具有 frameworkElements 集合的复制对象 -> 仅显示复制的元素
我有一个“板”,我在其中展示框架元素。问题是,如果我克隆“BlockContainer”对象并创建我的 frameworkElements (System.Windows.Controls.Image) 的新实例,那么我会看到多个对象。
但是,如果我只是创建一个“BlockContainer”的新实例,然后将带有 FrameworkElements 的列表从 ReferenceList 设置为新对象,则只会显示新项目。
但我需要有一个参考。如果图像发生变化,我只想更新参考列表。
(所有代码都被修剪)
基类
板件
容器
BlockContainer(绑定到 Visu)
参考块
克隆块(我们看到所有对象)
带有引用的新实例(我们只看到新对象)
wpf - 从 XAML 调用 FrameworkElement 方法时不绘制网格 - 但从 Window_loaded 调用
我正在 wpf 中重建我的 vb6 应用程序,该应用程序自 2011 年以来运行良好。我的应用程序处理 11 个文档。在 vb6 中,我在 MDI 中使用了 11 种形式。
在 wpf 中,我使用了一个名为 Hold 的 Canvas。此画布包含我称为 Doc 的 FrameworkElement 的 11 个实例。
Doc 具有为我称为 Cell 的类绘制形状和文本的方法。为了在Doc中放置单元格,需要Doc绘制一个网格。为此,如果 true Doc 绘制网格,我有一个布尔字段 (bool _showGrid;)。
我的问题是 Doc FrameworkElement 从 xaml 调用时不绘制网格。但是从 Window_Loaded 可以。
这是Doc FrameworkElement的一部分:
这是 xaml,其中在 showGrid 中创建 Doc 的documentsReceipt 实例设置为 true 女巫不起作用:
这是我省略时的应用documentReceipt=true
程序Window_Loaded
c# - ScrollView 在动态创建的元素内不起作用
我需要动态地创建一些 FrameworkElements。我有一个 StackPanel,我在其中创建了一个 Pivot,一个 PivotItem,一个带有 StackPanel 和按钮的 ScrollViewer,如下所示:
这是 C# XAML 代码:
如果我尝试在 XAML 中创建所有元素,ScrollViewer 会按预期工作,但是当页面中发生某些事件时,我需要动态创建它们。
在调试中检查页面,PivotItem 有“ActualHeight == 0”,所以我认为它里面的 ScrollViewer 不能正常工作,但我不知道如何修复它,也许可以对 ScrollViewer 说“给自己充电”使滚动工作。
c# - 为什么我无法访问 frameworkElement 的 SelectedItem?
我将一个 FrameworkElement 对象发送到我的 ViewModel 中的一个方法,该方法负责在 TreeView 中创建一个新项目。
当我调试时,我可以看到 frameworkElement 的 SelectedItem 中有什么,但是当我想掌握它时,例如
那我不能。Intellisense 没有给我这个选项。为什么不?然后当然,我如何获得 SelectedItem 的 ID?