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

0 投票
1 回答
702 浏览

c# - 如何在主窗口引发事件

我有具有数据网格的用户控件。此用户控件已添加到 WPF 主窗口中。我正在通过气泡事件处理网格行选择更改事件。

错误是Provide value on 'System.Windows.Data.Binding' threw an exception.

如何在我的主窗口 viewModel 中访问此用户控件事件?

0 投票
1 回答
858 浏览

wpf - 在附加 WPF 附加行为之前触发 PropertyChangedCallback

我正在使用自定义 WPF 行为(来自 System.Windows.Interactivity 的行为)显示几个依赖项属性,其中一个是字符串。OnAttached为了获取对其AssociatedObjectUI 控件的引用,该行为也会被覆盖。

当该附加属性数据绑定到 viewModel 并且稍后在某些时候更改(并通知)时,一切似乎都很好:OnAttached已“在开始时”被触发,然后PropertyChangedCallback被触发。

我看到的问题是该属性未绑定,而是在 XAML 中设置为“静态”值。在这种情况下,PropertyChangedCallback在OnAttached之前被触发,当行为尚未知道其关联的 UI 控件并且基本上无法对该属性更改做出任何反应时。

我想我错过了在这种情况下应该如何做的事情。感谢您对理解这一点的任何帮助。助教

编辑
在这里显示一些代码,如果在这种情况下可能会有所帮助:

0 投票
1 回答
116 浏览

c# - 使用 AttachedCommandBehavior 库的 null ExecutionStrategy

我正在使用 Marlon Grech 的 AttachedCommandBehavior 库 ( https://marlongrech.wordpress.com/2008/12/04/attachedcommandbehavior-aka-acb/ ) 将命令绑定到我的 WPF 窗口事件。我让它成功地处理另一个用户控件,为几个文本框处理文本更改事件,并且效果很好。我现在正试图让它与组合框上的选择更改事件一起工作。我在 CommandBehaviorBinding.Execute() 中的 ExecutionStrategy 上收到空引用异常。我已经阅读了几篇关于使用 acb 的空引用异常绑定错误的帖子。我的输出中没有出现绑定错误,并且我已验证该命令已在视图模型中设置。这是我的一部分观点(为简洁起见,我删除了所有其他控件):

这是我设置命令的 ViewModel:

当我在组合框的数据绑定上设置断点时(即 SelectedValue="{Binding AddressType.Value}"),我可以看到 OnAddressTypeChangeCommand 已设置且不为空。数据上下文指向我的视图模型(我使用 Snoop 验证了这一点来查看可视化树)。绑定中遇到的数据正在工作,所以我觉得我已经正确设置了。

我愿意接受有关下一步看哪里的建议。我喜欢 acb,因为它的代码很简单,但我还没有接受它。到目前为止,我只在两个地方使用它,所以如果我必须更换它,不会有太多的胃灼热,尽管我还没有看到任何看起来很容易实现的东西。

提前致谢。

埃里克。

0 投票
1 回答
433 浏览

wpf - 使用 AttachedProperties 在 TreeViewItem 上的 MouseDoubleClick 命令问题

我正在尝试将 Command 和 CommandParameter 属性附加到 TreeViewItem,以便我可以将鼠标双击事件路由到 ViewModel 中的命令。看来双击事件甚至从未被触发。

鼠标双击:

MainWindow.xaml 中的树视图代码:

谁能告诉我为什么鼠标双击不起作用?

编辑:在输出窗口中出现此错误:

0 投票
2 回答
1218 浏览

c# - StoryBoard 对象在由 Style 设置时变为只读

我有一个附加的行为,它有一个 type 的附加属性StoryBoard。我想在 ListView 中的每个项目上设置此属性。XAML 看起来像这样:

到目前为止,一切都很好。然后“MyBehavior”中的代码尝试执行此操作:

但是InvalidOperationException在调用时会抛出一个StoryBoard.SetTarget():“无法在对象'System.Windows.Media.Animation.Storyboard'上设置属性,因为它处于只读状态。” 如果我Storyboard在调试器中检查 ,我可以看到它IsSealedIsFrozen属性都设置为true.

相比之下,如果我MyBehavior.Animation直接设置在 上,ListView这样我就不需要使用 a StyleStoryBoard到达时未密封,我可以设置目标并成功运行它。但这不是我想要的。

为什么我StoryBoard被封印了,我能做些什么来防止这种情况发生吗?

更新:我可以通过在空检查之后添加这个来解决我的问题:

但我仍然很好奇发生了什么。显然某处(Style??Setter)正在冻结/密封对象Setter.Value

0 投票
1 回答
1052 浏览

wpf - 如何使用附加行为将文本框输入标记为无效

我的 xaml 上有很多 TextBox,我在其中实现了 Regex 验证(来自
How to Define TextBox Resctrictions)。在我看来,这采取以下形式:

我不希望限制用户的移动,所以目前验证只是改变了文本框的颜色;红色是一个错误被发现。

收集完所有输入后,用户将单击“保存”以保存窗口。可能涉及正则表达式代码,将它们从 xaml 复制到执行 Save 的视图模型似乎是错误的。

附加的行为如何将文本框标记为无效,以便视图模型只需要在保存窗口之前检查无效标志?我的第一个想法是在文本框上绑定 Tag 依赖属性,但我想知道是否有更好的方法?

任何想法表示赞赏。

TIA

0 投票
1 回答
122 浏览

javascript - Meteorjs 和 bootstrap3 模态罕见行为

我是 Meteorjs 的新手,我正在测试 FullCalendar 和流星的实现,特别是这种模式我遇到了一个奇怪的问题。是一种编辑模式,它应该在您单击事件链接列表时触发,我在传递中成功测试了其他应用程序,我已经有另一个模式用于在此视图上创建事件并且工作正常。但在这种情况下,似乎没有正确附加 js 行为。模态显示但没有效果,也没有关闭或提交按钮

我想知道在这种特殊情况下,我是否丢失了某些东西或某些代码标签或 FullCalendar 是否存在冲突?并寻求帮助谢谢

这是meteor.com gbelot.todo3.meteor.com上的演示

这是 gitHub 上的代码:https ://github.com/gbelot2003/meteor-todo-bt3/blob/todo3-icalendar/client/home

这里是控制器和模板代码:

主页模板在这里

这是您单击链接的模板

0 投票
1 回答
738 浏览

yii2 - Yii2:行为作为数组(不工作)或 attachBehavior(工作)

我有这样的类,我在函数actionCreate中获取对象:

但是,如果我使用此代码-我会得到 null

我的问题是:如何在第二个代码示例中使用数组将行为附加到 UserInfo?

PS我的行为代码是:

0 投票
0 回答
33 浏览

javascript - 由于 window.onfocus 在 IE 上 30 分钟不活动初始滞后

第一次在这里发帖。我一直在这个网站上找到很好的答案,但这是我第一次在对我的非常具体的问题进行广泛研究后情不自禁。我在窗口/选项卡的“onfocus”上附加了一个函数,该函数计算我必须在 ERP 自己的导航栏中实现的 Statuslight 上显示的颜色和其他特定变量。因此,在每个焦点上,它都会询问信息是否发生了变化,如果发生了变化,它会重新加载页面。一切正常,但在 IE 中闲置大约 30 分钟后(该公司只使用 IE,所以我不必记住跨浏览器的兼容性)......在闲置 30 分钟后,它“滞后”大约 5 秒时窗口再次集中注意力。(滞后我的意思是它只是停止做任何事情,而不是标签更改,什么都没有)我认为这可能与应用程序服务器超时或类似的事情有关,但我对此没有足够的洞察力。希望你们能帮助我解决这个问题。以下是相关的 Javascript 代码:

希望这是足够的信息来理解我的问题。如果还有其他问题,请随时提出。

0 投票
1 回答
36 浏览

javascript - 将行为附加到 Javascript 中的命名空间调用?

我在 Javascript 方面非常平庸,环顾四周,我找不到任何关于如何实现我想要的行为或什至可能的信息。

我有一个命名空间form来访问我的 HTML 表单:

期望的额外行为:

这可能吗?