问题标签 [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.
c# - 如何在主窗口引发事件
我有具有数据网格的用户控件。此用户控件已添加到 WPF 主窗口中。我正在通过气泡事件处理网格行选择更改事件。
错误是Provide value on 'System.Windows.Data.Binding' threw an exception.
如何在我的主窗口 viewModel 中访问此用户控件事件?
wpf - 在附加 WPF 附加行为之前触发 PropertyChangedCallback
我正在使用自定义 WPF 行为(来自 System.Windows.Interactivity 的行为)显示几个依赖项属性,其中一个是字符串。OnAttached
为了获取对其AssociatedObject
UI 控件的引用,该行为也会被覆盖。
当该附加属性数据绑定到 viewModel 并且稍后在某些时候更改(并通知)时,一切似乎都很好:OnAttached已“在开始时”被触发,然后PropertyChangedCallback被触发。
我看到的问题是该属性未绑定,而是在 XAML 中设置为“静态”值。在这种情况下,PropertyChangedCallback在OnAttached之前被触发,当行为尚未知道其关联的 UI 控件并且基本上无法对该属性更改做出任何反应时。
我想我错过了在这种情况下应该如何做的事情。感谢您对理解这一点的任何帮助。助教
编辑
在这里显示一些代码,如果在这种情况下可能会有所帮助:
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,因为它的代码很简单,但我还没有接受它。到目前为止,我只在两个地方使用它,所以如果我必须更换它,不会有太多的胃灼热,尽管我还没有看到任何看起来很容易实现的东西。
提前致谢。
埃里克。
wpf - 使用 AttachedProperties 在 TreeViewItem 上的 MouseDoubleClick 命令问题
我正在尝试将 Command 和 CommandParameter 属性附加到 TreeViewItem,以便我可以将鼠标双击事件路由到 ViewModel 中的命令。看来双击事件甚至从未被触发。
鼠标双击:
MainWindow.xaml 中的树视图代码:
谁能告诉我为什么鼠标双击不起作用?
编辑:在输出窗口中出现此错误:
c# - StoryBoard 对象在由 Style 设置时变为只读
我有一个附加的行为,它有一个 type 的附加属性StoryBoard
。我想在 ListView 中的每个项目上设置此属性。XAML 看起来像这样:
到目前为止,一切都很好。然后“MyBehavior”中的代码尝试执行此操作:
但是InvalidOperationException
在调用时会抛出一个StoryBoard.SetTarget()
:“无法在对象'System.Windows.Media.Animation.Storyboard'上设置属性,因为它处于只读状态。” 如果我Storyboard
在调试器中检查 ,我可以看到它IsSealed
和IsFrozen
属性都设置为true
.
相比之下,如果我MyBehavior.Animation
直接设置在 上,ListView
这样我就不需要使用 a Style
,StoryBoard
到达时未密封,我可以设置目标并成功运行它。但这不是我想要的。
为什么我StoryBoard
被封印了,我能做些什么来防止这种情况发生吗?
更新:我可以通过在空检查之后添加这个来解决我的问题:
但我仍然很好奇发生了什么。显然某处(Style
??Setter
)正在冻结/密封对象Setter.Value
。
wpf - 如何使用附加行为将文本框输入标记为无效
我的 xaml 上有很多 TextBox,我在其中实现了 Regex 验证(来自
How to Define TextBox Resctrictions)。在我看来,这采取以下形式:
我不希望限制用户的移动,所以目前验证只是改变了文本框的颜色;红色是一个错误被发现。
收集完所有输入后,用户将单击“保存”以保存窗口。可能涉及正则表达式代码,将它们从 xaml 复制到执行 Save 的视图模型似乎是错误的。
附加的行为如何将文本框标记为无效,以便视图模型只需要在保存窗口之前检查无效标志?我的第一个想法是在文本框上绑定 Tag 依赖属性,但我想知道是否有更好的方法?
任何想法表示赞赏。
TIA
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
这里是控制器和模板代码:
主页模板在这里
这是您单击链接的模板
yii2 - Yii2:行为作为数组(不工作)或 attachBehavior(工作)
我有这样的类,我在函数actionCreate中获取对象:
但是,如果我使用此代码-我会得到 null
我的问题是:如何在第二个代码示例中使用数组将行为附加到 UserInfo?
PS我的行为代码是:
javascript - 由于 window.onfocus 在 IE 上 30 分钟不活动初始滞后
第一次在这里发帖。我一直在这个网站上找到很好的答案,但这是我第一次在对我的非常具体的问题进行广泛研究后情不自禁。我在窗口/选项卡的“onfocus”上附加了一个函数,该函数计算我必须在 ERP 自己的导航栏中实现的 Statuslight 上显示的颜色和其他特定变量。因此,在每个焦点上,它都会询问信息是否发生了变化,如果发生了变化,它会重新加载页面。一切正常,但在 IE 中闲置大约 30 分钟后(该公司只使用 IE,所以我不必记住跨浏览器的兼容性)......在闲置 30 分钟后,它“滞后”大约 5 秒时窗口再次集中注意力。(滞后我的意思是它只是停止做任何事情,而不是标签更改,什么都没有)我认为这可能与应用程序服务器超时或类似的事情有关,但我对此没有足够的洞察力。希望你们能帮助我解决这个问题。以下是相关的 Javascript 代码:
希望这是足够的信息来理解我的问题。如果还有其他问题,请随时提出。
javascript - 将行为附加到 Javascript 中的命名空间调用?
我在 Javascript 方面非常平庸,环顾四周,我找不到任何关于如何实现我想要的行为或什至可能的信息。
我有一个命名空间form
来访问我的 HTML 表单:
期望的额外行为:
这可能吗?