问题标签 [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.

0 投票
1 回答
1025 浏览

c# - WPF - FrameworkElement - 枚举所有后代?

我有一个FrameworkElement(真的是 a ToggleButton),它的内容里面有 a Popup

我像这样访问它:

通常这工作正常。但有时弹出窗口为空。

我正在尝试找到一种方法来调试它。有没有办法枚举 FindName 可以找到的所有“事物”?


作为背景,这是我的弹出窗口在 ToggleButton 中的定义方式:

0 投票
2 回答
697 浏览

wpf - 在另一个 FrameworkElement 中绘制一个 FrameworkElement

在 XAML 中:

但指标没有被绘制。我错过了什么?

0 投票
1 回答
2629 浏览

wpf - 对作为 FrameworkElement 的值使用数据绑定

我的一个数据源生成一组值,这些值被输入到以下界面

我想在 WPF 中使用数据绑定来显示IData实例集合,TabControl其中Name值成为选项卡的标题,VisualElement值显示为相应选项卡的内容。

绑定标题是直截了当的。我被困在如何定义一个允许我显示VisualElement值的模板上。我尝试了许多解决方案,但收效甚微。我最好的尝试如下。

我对 WPF 还是很陌生,所以我可能会在这里遗漏明显的东西。

0 投票
1 回答
7075 浏览

c# - WPF FrameworkElement 父级和移动 UIElement

我正在尝试将控件从一个父级移动到另一个父级(如果这可行,我不太确定)。我可以抓住我想要移动的控件。这是我的代码:

当我点击最后一条语句时,会引发 ArgumentException,说明“指定的视觉对象已经是另一个视觉对象的子对象或 CompositionTarget 的根”。奇怪的是,Parent 正在返回 null。如何找到父级?这甚至会起作用吗?

编辑:我不认为实际移动元素是我问题的答案。我正在使用 Visual Studio SDK,并且能够掌握UIElement构成编辑器窗格(扩展DockPanel)的内容。我试图将控件从标准编​​辑器移动到我正在开发的自定义工具窗口中。

这被证明是一个 hack,我意识到我需要同一个控件的多个实例,所以我认为一个更复杂的解决方案(和更少的 hack)正在存储中。

0 投票
2 回答
521 浏览

c# - 谁能告诉我 FrameworkElement obj=sender as FrameworkElement 和 FrameworkElement obj=(FrameworkElement) someobject 之间的区别

我是 Silverlight 编程的新手。谁能告诉我两者的区别

0 投票
2 回答
1588 浏览

wpf - 在运行时动态创建(封装)子级的 WPF 元素

我想创建一个 WPF 元素,该元素在运行时完全控制其子元素——在其属性更改时添加和删除子 UI。有点像 ItemsControl 在您修改 ItemsSource 属性时所做的事情,尽管在我的情况下只有一个孩子。

这将是 MVVM 的视图容器——当你给它一个模型或视图模型时,它会神奇地创建正确的视图并将所有内容连接起来。我的视图容器不需要模板化(因为它创建了用户定义的视图,这些视图是 UserControls 并且有自己的模板),我希望它尽可能地封装。我可以很容易地做到这一点,方法是从像 Grid 这样的东西下降,并在我自己的属性发生变化时添加子控件;但是 Grid 公开了它的子元素集合,并允许任何人添加和删除东西。

为了最大程度的封装,我应该从哪个 WPF 类下降,以及如何在运行时向它添加子元素?

根据我对文档的理解,我尝试使用 FrameworkElement 和 AddVisualChild,只是想看看我是否可以在运行时创建子控件。我不清楚 AddLogicalChild 是否必要,但我把它放在以防万一:

当我将 ViewContainer 放入 Window 并运行它时,我希望看到一个 TextBlock 说“ViewContainer”。但相反,我只看到一个空白窗口。所以很明显我错过了一些东西。

如何修复上面的代码,以便“子”控件确实在运行时出现,但不会暴露给其他人乱搞(不能避免)?

0 投票
1 回答
1454 浏览

wpf - WPF:在 TextBlock 之上绘图

我希望能够在 TextBlock 的顶部进行绘图,并且已经找到了一种方法来做到这一点,但是一旦绘图出现,我就无法删除它。这是代码。

我想这样做的原因:我们有一个包含很多单元格的数据网格,每个单元格都显示文本。我们在单元格上显示一些验证信息,我们通过使用带有文本块的模板和网格中托管的一些路径来做到这一点。这样做的开销会在可视树中添加额外的元素,当我们必须重绘(加载、切换窗口或排序时)时,可视树中的元素越多,所需的时间就越长。当它只是一个文本块时,它比使用网格控件快大约 1/3 - 1/2。所以我们想在文本框的顶部绘制我们的验证内容。

0 投票
2 回答
2251 浏览

wpf - WPF FrameworkElement 未接收鼠标输入

试图让 OnMouse 事件出现在 child 中FrameworkElement。父元素是 a Panel(并且Background属性不是 Null)。

OnMouse 永远不会被调用,事件总是未处理,Snoop 告诉我路由事件似乎只到达Panel元素。

文档说FrameworkElement处理输入,但为什么不在这种情况下呢?

0 投票
2 回答
25429 浏览

wpf - 在画布上查找控制位置

我有一个Canvas包含几个Textblocks,我需要找到在 XAML 文档中分配的上角和左角点。我怎样才能得到这两个属性?

当我遍历框架元素时,Canvas我似乎无法找到列出的属性。

0 投票
1 回答
1145 浏览

c# - 权限被拒绝 - 使用 .NET Remoting 和 FrameworkElementAdapters 的跨进程 UI

我的问题非常相似,如果不是这个的复制品的话。令人恼火的是,“答案”并没有给我很多工作,坦率地说,我处于一个松散的结局。

问题应该是相当明显的。我想在可插入应用程序框架的进程之间传递 WPF 元素,而不必使用托管插件框架。我部署到一个环境,由于高度限制性的权限,将文件缓存到我无法控制的磁盘是不可接受的。这些是解决方法 - 将插件根放在 appdata 中 - 但强制执行的目录结构是不可取的,据我所知,这不是该文件夹的用途。

异常方法如下,异常行以粗体突出显示:

p>

实验似乎需要通过STA 线程上的FrameworkElementAdapters.ContractToViewAdapter()解组句柄 ,因此需要调用。需要注意的是,client是一个回调MarshalByRefObject,在这个方法中是通过代理访问的。句柄也是通过调用FrameworkElementAdapters.ViewToContractAdapter()远程创建的,并作为远程方法的返回值传递到此应用程序域。

我收到的异常是发生了 RemotingException - 权限被拒绝:无法远程调用非公共或静态方法。

欢迎任何反馈。