问题标签 [attachedbehaviors]
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.
silverlight - Silverlight ComboBox 附加行为
我正在尝试创建可应用于 Silverlight ComboBox 的附加行为。
我的行为是这样的:
这在 XAML 中使用如下:
我收到一个错误:
元素 ComboBox 上的未知属性 ConfirmChangeBehaviour.ConfirmChange。[行:13 位置:65]
Intellisense 正在采取这种行为,为什么这在运行时会失败?
谢谢,马克
编辑: Register() 更改为 RegisterAttached()。出现同样的错误。
wpf - 我什么时候应该在普通的 PropertyMetadata 上使用 FrameworkPropertyMetadata 或 UIPropertyMetadata?
在查看示例附加属性和行为时,我看到了FrameworkPropertyMetadata
,UIPropertyMetadata
和PropertyMetadata
. 既然它们都形成了继承层次结构,我该如何选择使用哪一个呢?
silverlight - 为 Silverlight 行为自动调用 OnDetaching()
我在 silverlight 控件上使用了几种混合行为和触发器。我想知道是否有任何机制可以自动分离或确保在不再使用控件时(即从可视树中删除)为行为或触发器调用 OnDetaching()。
我的问题是由于其中一种行为,控件存在托管内存泄漏。该行为订阅 OnAttached() 覆盖中某个长期存在的对象上的事件,并且应该在 OnDetaching() 覆盖中取消订阅该事件,以便它可以成为垃圾回收的候选对象。但是,当我从可视化树中删除控件时,似乎永远不会调用 OnDetaching() ......我可以让它发生的唯一方法是在删除控件之前显式分离有问题的行为,然后正确地收集垃圾.
现在我唯一的解决方案是在代码隐藏中为控件创建一个公共方法,该方法可以通过并分离任何会导致垃圾收集问题的已知行为。在从面板中删除控件之前,由客户端代码知道调用它。我真的不喜欢这种方法,所以我正在寻找一些我忽略的自动方法或更好的建议。
wpf - WPF - 具有自定义属性的样式
我正在开发一个检查我的应用程序的文档编号,并且我在文本框中编写了一个附加的行为来检查文本。这是行为代码:
这就是我在 ResourceDictionary 上所做的事情:
但事情就是这样。它说“调用目标已引发异常”。我无法让它工作。
难道我做错了什么?提前致谢。
wpf - WPF - 依赖属性错误
我正在开发一个 WPF 项目,我的目的是让两个特定的 RadioButtons 更改另一个指定组件的属性。但是现在,我只是想在 RadioButton 中存储一个字符串。
为此,我创建了一个行为类:
有了这个属性:
这些 getter 和 setter:
在 XAML 方面,我这样做了:
其中 int: 是 Interaction.Behaviors 的命名空间,i: 是 AdjustBehavior 类的命名空间。但是每当我启动我的应用程序时,LabelContent 都会设置为 null。为什么?
我没有发布我的行为课程的其余部分,因为我认为这无关紧要,但如果有必要我会这样做。
提前致谢。
克拉克
c# - 如何为 FlowDocumentScrollViewer 的自动滚动创建附加行为
我的目标是为 FlowDocumentScrollViewer 创建一个可重用的附加行为,以便查看器在 FlowDocument 更新(附加)时自动滚动到末尾。
到目前为止的问题:
- OnEnabledChanged 在可视化树完成之前被调用,因此找不到 ScrollViewer
- 我不知道如何附加到包含 FlowDocument 的 DependencyProperty。我的计划是使用 it's changed 事件来初始化 ManagedRange 属性。(如果需要,第一次手动触发。)
- 我不知道如何从 range_Changed 方法中获取 ScrollViewer 属性,因为它没有 DependencyObject。
我意识到这些可能是 3 个独立的问题(又名问题)。然而,它们相互依赖,并且我为这种行为尝试的整体设计。如果我以错误的方式解决此问题,我将其作为一个问题提出。如果我是,正确的方法是什么?
binding - 从代码绑定附加行为
我正在使用自定义的默认按钮附加行为(如此处定义:Silverlight 4 Default Button Service)。
我能够在 XAML 中成功绑定它,但在嵌套用户控件中,以下代码后面的代码不起作用:
我应该如何在代码中为此创建绑定?
谢谢,
马克
wpf - DependencyProperty of Type Delegate
I have created an attached behavior that is used to execute a Delegate of type Func<bool>
when the behavior is invoked. Below is the dependancy property definition.
I have it working just as expected however in my XAML I get the following error, preventing the designer from loading.
Property 'SendToDetailBehavior' was not found or is not serializable for type 'SortableListView'
Below you will find the xaml.
If I change the underlying type of the Dependancy Property to a bool
for example, the error goes away.
As I said the attached behavior is working, only the designer blows up. I have looked for documentation on this and have come up empty. I am hoping someone here has some insight.
Thanks, BDN
c# - WPF - 使用附加行为调整无铬窗口的大小,..有什么建议吗?
谁喜欢挑战?
我目前正在研究ControlTemplate
无铬合金Window
,它将成为可重用主题程序集的一部分。我希望移动、关闭、最小化和恢复的行为是隐式的,因此我为此功能编写了附加行为,然后将其包含在模板中。
现在,..我来调整大小,我来到了一个路口。无论好坏,我都在处理行为中的鼠标移动并查找光标是否在调整大小的“区域”内。我已经足够适当地更改光标,但现在我已经开始实际调整窗口大小了,我遇到了三个选项。
我可以根据需要手动调整左侧和顶部以及宽度和高度。这是最简单的选项,使用附加行为很容易实现,但它似乎有点繁重,我知道 WPF 将继续渲染,因为窗口被调整导致闪烁,......这很糟糕。
第二种选择是获取消息挂钩并监听 WM_NCHITTEST 等,但到目前为止我发现的解决方案涉及我的子类化Window
,我不想强迫主题的消费者使用任何不是的控件提供的框架。
最后一个选项是以某种方式在屏幕上绘制一个矩形,显示Window
拖动鼠标时将占用的空间,然后调整大小MouseUp
,..这似乎是可行的,但这不是我以前做过的事情,所以一些指针会是凉爽的。
所以我该怎么做?到目前为止,Win32 路线似乎是我最好的选择,但如果有人有一个“更纯粹”的解决方案,我宁愿不要。我很高兴收到有关选项 3 和 .Net 4 的任何建议,以防万一有dynamic
可能发生一些魔术。
提前致谢。
wpf - Wpf AttachedBehavior 在使用时失去基本文本框功能
我有一个附加的行为问题。当我将行为附加到我的文本框时,我失去了所有基本功能,例如最大长度?这是我将它附加到我的 xaml 中的方式。当我取消附加行为时,最大长度工作,当我把它放回去时它不起作用?任何帮助将不胜感激!
这是我正在使用的课程
导入 System.Windows 导入 System.Windows.Controls 导入 System.Globalization
命名空间附加行为
区域“最小值属性”
结束区域
区域“最大值属性”
结束区域
区域“面具属性”
结束区域
区域“私有静态方法”
结束区域
结束命名空间