问题标签 [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.
wpf - 为什么这个绑定不起作用
我有一个第 3 方 SplitButton 控件,它公开了一些 DropDownContent 和一个布尔值 IsOpen dp 来控制是否显示下拉内容。
在 DropDownContent 是具有多个按钮的 StackPanel 的情况下,每个按钮都绑定到视图模型中的命令。除了执行该命令之外,单击按钮还需要关闭打开的 DropDown 内容,我正在使用下面的 AttachedBehavior 执行此操作。
但是我的绑定(简单地需要获取对祖先 SplitButton 控件的引用)不起作用。在绑定中,您会注意到我正在尝试查找 SplitButton 类型的第一个 Ancestor 控件。但是,我确实看到调试信息显示祖先级别 1,因此我将级别更改为高达 4,但仍然出现错误。
有人可以看到修复是什么吗?
绑定错误
System.Windows.Data 错误:4:找不到与引用“RelativeSource FindAncestor,AncestorType='Xceed.Wpf.Toolkit.SplitButton',AncestorLevel='1''的绑定源。BindingExpression:(无路径);数据项=空;目标元素是“CloseDropDownContentBehavior”(HashCode=8896066);目标属性是“DropDownButtonElement”(类型“SplitButton”)
xml
依附行为
wpf - WPF 中事件的 EventToCommand 或附加行为?
我想知道我应该在 MVVM、EventToCommand 或 Attached Behavior 中使用什么事件?哪个性能更好?
c# - 将 FlowDocument 中的模板绑定到列表?
我有一个 FlowDocument,其中包含像这样绑定到我的 ViewModel 的内容(我从互联网上获得的):
我正在尝试在 FlowDocument 中绑定我的列表 foos。
还有这个课程,我从互联网上获得的ParagraphInlineBehavior,但我还没有完成我的目标。(在流文档中显示数据模板)。
OnParagraphInlineChanged方法有问题。
c# - 如何实现将另一个控件作为属性引用的混合/wpf 附加行为?
我正在尝试实现一种适用于对象但受第二个对象影响的行为。
例如,它将根据另一个框架元素的距离来改变框架元素的外观。
我对附加行为的危险了解足够多,我会这样定义我的班级:
在行为的某个地方,我需要一个指向另一个控件的名称(?)的依赖属性。
我应该使我的依赖属性的类是什么,以便我可以让这个行为指向另一个控件?
我会将 propdp 指定为代表另一个控件名称的字符串吗?
或者我应该使用另一个类来表示与控件关联的标签(你知道,那个 x:Name 业务..)
或者 propdp 是否应该指向这样的框架元素?
还是我做一些绑定?
是否有最佳实践来指出一个行为或任何在另一个控件上具有依赖属性的东西?
有没有办法让它显示出来,以便使用混合的用户可以选择另一个控件?
c# - WPF 中的 ItemsControl 是否有一个很好的解决方案,可以通过垂直拖放对其元素进行重新排序?
所以这是我正在使用的场景:
我有一个优先级列表,当前表示为一个 ItemsControl/ListView,绑定到一个可观察的优先级项目集合。我想为元素重新排序提供严格的视觉约束垂直拖动。
所以,没有拖动装饰器,没有水平移动,只有垂直移动。当一个列表项移过另一个项的中点时,它应该通过动画“交换位置”。我确信这可以通过在容器本身上使用 mousedown/mousemove 来完成,并且我确信可以应用渲染转换来做到这一点,但我理想的解决方案将有两个组件:
该功能可以作为 WPF 交互行为附加。
该系统将是 MVVM 友好的,并且不需要任何重要的代码。
这已经完成了吗?我在哪里可以找到它?如果还没有,我怎么能把所有的位放在一起来做到这一点?
编辑:赏金打开。请通过评论直接向我提问,我会尽快回复。
xaml - 将字典传递给行为
我有一个像这样的简单行为
我想从视图中为这个字典赋值,我称之为如下
但是我如何才能将此字典传递给 XAML 或其背后代码的行为
wpf - DataContext Change 不会更新“附加行为”中的绑定
不久前,我为 XamDataGrid 和作为 ObservableCollection 的“业务对象”之间的两种方式同步编写了一个“附加行为”。XamDataGrid 是源,ObservableCollection as DataSource 是目标。由于特定原因,我没有使用 ListCollectionView。
问题
当 DataGrid 的 DataContext 更改为另一个 Vehicle 时,当前加载的 DataGrid 不会更新行为的 DependencyProperty。
我不知道为什么。
我能想到的唯一解决方案是挂钩 DataGrid 的 DataContextChanged 并使用 Path 进行新的 BindingOperation ,然后将其设置为相对于 DataContext 以确定 SelectedItems 属性。但在这种情况下,行为的 DependencyProperty 应设置为 SelectedItems 属性的路径,而不是绑定。
有以下课程
示例模型
xml
PS:我也尝试过将元素绑定到 DataGrid 作为元素,但这并不能解决问题。DependencyProperty 仅设置一次。例如模型
双向行为
当模型中的选定项更改时,网格选定项也必须更新。它也不需要使用弱事件分离。
c# - 将行为附加到 Silverlight 中的所有文本框
是否可以将行为附加到 Silverlight 应用程序中的所有文本框?
我需要为所有文本框添加简单的功能。(选择焦点事件的所有文本)
c# - 父 mvvm 上的附加行为不起作用
我有 2 个用户控件,父和子,子控件有按钮女巫我想用父视图模型方法单击,但它不起作用,请告诉我我在父视图中错过了什么,我有这样的东西:
行为代码:
虚拟机父命令:
wpf - 在 WPF 中处理附加事件的附加行为
我用谷歌搜索了这个问题,但无法收集任何信息,我想知道附加行为是否有可能处理附加事件?
我有一个在类中声明的事件和一个附加到 TextBox 控件的行为,单击按钮时将引发该事件。我在我的行为中添加了这个事件的处理程序,并在事件处理程序中编写了逻辑,但它没有被执行。所以,我想知道附加行为是否有可能处理附加事件?
那是我的事件类,这就是我在行为中处理它的方式
这是我的 XAML 代码:
我在按钮的点击事件中引发事件