问题标签 [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# - 多个控件受到影响时的附加行为
为了尽量减少后面代码中的内容,我想将我们的一些事件逻辑转换为附加行为。我已经阅读了这篇文章,虽然我想实现类似的目标,但我不确定如果行为影响多个控件我将如何进行。
一个例子:我们的应用程序有一个侧边栏,用户可以通过一个按钮停靠在左侧或右侧。如果按钮被触发,我们的事件会触发并相应地重新排列控件。这很容易用后面的纯代码来完成,因为我可以访问视图中存在的所有控件。
现在,我将向该按钮添加一个附加行为来处理这种情况,但我需要访问其他控件来更改它们的位置。这是否可能与附加行为(如果是,如何?),还是有另一种可能性或模式来做到这一点?
c# - 如何解析 XamPivotGrid 的层次结构?
我正在编写附加行为,以在XamPivotGrid
具有不同数据源的两个 s 之间复制列和行扩展。
该行为有效,但在除最外层之外的任何层次结构级别上,所有行都会同时展开。我想过滤我对标题行的查询,以仅获取具有相同父级的标题。问题就在这里:
我的初始数据透视网格有四个度量、一行和一列。默认情况下只选择一种度量。要创建层次结构,我(使用XamPivotDataSelector
控件)将列拖动到也充当行,这使得度量充当列。虽然这似乎是枢轴网格上的层次结构,但实际上一个仍然是网格的 RowHeaders 之一,另一个是 ColumnHeader - 它们不共享我可以访问的关系。
在线搜索后,我没有找到任何有关如何访问可用于识别特定标头的信息的信息。我意识到这个问题可能需要对XamPivotGrid
控件有足够深入的了解,我可能永远也得不到答案,所以我将继续研究网格,希望我能够自己回答这个问题。
感谢您的时间。
更新: 我发现列确实变成了行而不是列,所以至少这更有意义,但它们只是在一个列表中,而不是按层次排列。
c# - 窗口出现在前面的MVVM方法
我有一个 wpf 应用程序,需要根据某些条件在所有其他窗口的前面弹出。我正在尝试以符合 MVVM 的方式完成此操作。经过大量研究,最好的解决方案是使用窗口的激活事件和界面的行为。使用mvvm activate上的第二种解决方案,我能够使激活功能正常工作。但是,一旦我根据 快速入门指南使用 Mahapp Metro 控件“MetroWindow”设置我的 GUI 样式,GUI 搞砸了。每当添加 XAML 交互行为部分时,GUI 的原始 Window 对象就会出现,从而产生 2 个标题栏(一个来自 Window,另一个来自 MetroWindow)。我尝试使用 Metro 样式设计自己的窗口,但到目前为止无法实现 Metro 标题栏(找不到任何指南或文档)。Visual Studio 还不断抱怨“对象引用未设置为对象的实例”(有时在
和其他时间
但应用程序运行。
如何保持 Mahapps Metro 样式(包括标题栏样式)并按照我的业务逻辑以符合 MVVM 的方式使窗口显示在前面?
c# - 为什么 PropertyChangedEvent 只为 AttachedProperty 触发一次
OnShouldRefreshPropertyChanged 只会触发一次,并且不会在 NeedsRefresh 的值更改时触发。有人可以解释发生了什么吗?我使用的 Datagrid 来自 .Net 3.5 的 WPFToolKit,尽管我认为这并不重要。
行为:
xml:
视图模型:
c# - 如何向 DataGrid 添加从 c# 上的附加行为创建的上下文菜单?
基本上我在 c# 上有一个 DataGrid,我需要在其中创建一个上下文菜单,该菜单仅在鼠标右键时才会显示。如果我没有错在多个数据网格上重复使用,这需要作为附加行为来完成。
有人可以帮我吗?我是 WPF 和所有这些东西的新手......
提前致谢。
c# - 将属性绑定到行为错误
我想要做的是将我的一个属性绑定ViewModel
到Behavior
XAML 中的一个。
所以首先这里是我的 Xaml 行为代码。
但我得到的只是一个Error
. 我认为将 aa 属性绑定到行为是一个普遍的问题,但必须有一种简单的方法来做到这一点。
我采用了这个示例,它运行良好,但正如我所说的那样,不能使用绑定。我刚刚添加了RelativeWidth
和RelativeHeight
。
c# - WPF 行为 AssociatedObject 为空
我在我的控件上设置一个行为(在 xaml 中),该行为具有以下代码:
当我创建控件的几个实例时,发生了一些奇怪的事情:调用了 OnMycontrolLoaded 方法(即加载了控件/AssociatedObject),但其中的 AssociatedObject 为空。
为什么会这样?
wpf - MVVM:如何将此代码片段后面的代码转换为 AttachedProperty?
在 WPF 中,我想知道如何将后面的代码转换为附加行为,因为这遵循 MVVM 模式并且更易于维护和测试。
我有以下实现对接管理器的 xAML:
在后面的代码中,我可以将布局保存到 XML 文件中:
我还可以从 XML 文件加载布局:
为了遵循 MVVM 模式,我想将其转换为附加属性,因此我可以绑定到Test
ViewModel 中的字符串,而不是后面的代码:
到目前为止我尝试过的
我使用 ReSharper 模板“dependencyProperty”创建了以下附加属性,但是,似乎没有办法连接任何调用:
c# - 通过带有附加行为的 Thumb 调整弹出窗口的大小
如下所示,我有一个弹出窗口,我想用右下角的拇指调整它的大小。拇指有一个附加的行为,我想调整大小。
它目前不起作用,但应该很好地了解我的目标。
如何让这种行为起作用?
wpf - 属性更改 Xaml 时更新另一个 UI 元素
我想知道在调用 propertychanged 时是否可以更新另一个 UI 元素。
这是一个例子:
假设我的测试类有一个名为 Update 的方法。如何设置它以便在 Xaml 中的 TestString 属性发生更改时调用 Update?我知道我总是可以将方法附加到事件处理程序,但我想知道我是否可以在 Xaml 中做到这一点。也许使用行为或类似的东西。你能告诉我这是否可能吗?如果可以,你能帮助我朝着正确的方向前进吗?