问题标签 [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 投票
2 回答
156 浏览

c# - 多个控件受到影响时的附加行为

为了尽量减少后面代码中的内容,我想将我们的一些事件逻辑转换为附加行为。我已经阅读了这篇文章,虽然我想实现类似的目标,但我不确定如果行为影响多个控件我将如何进行。

一个例子:我们的应用程序有一个侧边栏,用户可以通过一个按钮停靠在左侧或右侧。如果按钮被触发,我们的事件会触发并相应地重新排列控件。这很容易用后面的纯代码来完成,因为我可以访问视图中存在的所有控件。

现在,我将向该按钮添加一个附加行为来处理这种情况,但我需要访问其他控件来更改它们的位置。这是否可能与附加行为(如果是,如何?),还是有另一种可能性或模式来做到这一点?

0 投票
1 回答
311 浏览

c# - 如何解析 XamPivotGrid 的层次结构?

我正在编写附加行为,以在XamPivotGrid具有不同数据源的两个 s 之间复制列和行扩展。

该行为有效,但在除最外层之外的任何层次结构级别上,所有行都会同时展开。我想过滤我对标题行的查询,以仅获取具有相同父级的标题。问题就在这里:

我的初始数据透视网格有四个度量、一行和一列。默认情况下只选择一种度量。要创建层次结构,我(使用XamPivotDataSelector控件)将列拖动到也充当行,这使得度量充当列。虽然这似乎是枢轴网格上的层次结构,但实际上一个仍然是网格的 RowHeaders 之一,另一个是 ColumnHeader - 它们不共享我可以访问的关系。

在线搜索后,我没有找到任何有关如何访问可用于识别特定标头的信息的信息。我意识到这个问题可能需要对XamPivotGrid控件有足够深入的了解,我可能永远也得不到答案,所以我将继续研究网格,希望我能够自己回答这个问题。

感谢您的时间。

更新: 我发现列确实变成了行而不是列,所以至少这更有意义,但它们只是在一个列表中,而不是按层次排列。

0 投票
1 回答
643 浏览

c# - 窗口出现在前面的MVVM方法

我有一个 wpf 应用程序,需要根据某些条件在所有其他窗口的前面弹出。我正在尝试以符合 MVVM 的方式完成此操作。经过大量研究,最好的解决方案是使用窗口的激活事件和界面的行为。使用mvvm activate上的第二种解决方案,我能够使激活功能正常工作。但是,一旦我根据 快速入门指南使用 Mahapp Metro 控件“MetroWindow”设置我的 GUI 样式,GUI 搞砸了。每当添加 XAML 交互行为部分时,GUI 的原始 Window 对象就会出现,从而产生 2 个标题栏(一个来自 Window,另一个来自 MetroWindow)。我尝试使用 Metro 样式设计自己的窗口,但到目前为止无法实现 Metro 标题栏(找不到任何指南或文档)。Visual Studio 还不断抱怨“对象引用未设置为对象的实例”(有时在

和其他时间

但应用程序运行。

如何保持 Mahapps Metro 样式(包括标题栏样式)并按照我的业务逻辑以符合 MVVM 的方式使窗口显示在前面?

0 投票
0 回答
67 浏览

c# - 为什么 PropertyChangedEvent 只为 AttachedProperty 触发一次

OnShouldRefreshPropertyChanged 只会触发一次,并且不会在 NeedsRefresh 的值更改时触发。有人可以解释发生了什么吗?我使用的 Datagrid 来自 .Net 3.5 的 WPFToolKit,尽管我认为这并不重要。

行为:

xml:

视图模型:

0 投票
1 回答
205 浏览

c# - 如何向 DataGrid 添加从 c# 上的附加行为创建的上下文菜单?

基本上我在 c# 上有一个 DataGrid,我需要在其中创建一个上下文菜单,该菜单仅在鼠标右键时才会显示。如果我没有错在多个数据网格上重复使用,这需要作为附加行为来完成。

有人可以帮我吗?我是 WPF 和所有这些东西的新手......

提前致谢。

0 投票
1 回答
61 浏览

c# - 将属性绑定到行为错误

我想要做的是将我的一个属性绑定ViewModelBehaviorXAML 中的一个。

所以首先这里是我的 Xaml 行为代码。

但我得到的只是一个Error. 我认为将 aa 属性绑定到行为是一个普遍的问题,但必须有一种简单的方法来做到这一点。

我采用了这个示例,它运行良好,但正如我所说的那样,不能使用绑定。我刚刚添加了RelativeWidthRelativeHeight

0 投票
1 回答
4566 浏览

c# - WPF 行为 AssociatedObject 为空

我在我的控件上设置一个行为(在 xaml 中),该行为具有以下代码:

当我创建控件的几个实例时,发生了一些奇怪的事情:调用了 OnMycontrolLoaded 方法(即加载了控件/AssociatedObject),但其中的 AssociatedObject 为空。

为什么会这样?

0 投票
0 回答
126 浏览

wpf - MVVM:如何将此代码片段后面的代码转换为 AttachedProperty?

在 WPF 中,我想知道如何将后面的代码转换为附加行为,因为这遵循 MVVM 模式并且更易于维护和测试。

我有以下实现对接管理器的 xAML:

在后面的代码中,我可以将布局保存到 XML 文件中:

我还可以从 XML 文件加载布局:

为了遵循 MVVM 模式,我想将其转换为附加属性,因此我可以绑定到TestViewModel 中的字符串,而不是后面的代码:

到目前为止我尝试过的

我使用 ReSharper 模板“dependencyProperty”创建了以下附加属性,但是,似乎没有办法连接任何调用:

0 投票
1 回答
691 浏览

c# - 通过带有附加行为的 Thumb 调整弹出窗口的大小

如下所示,我有一个弹出窗口,我想用右下角的拇指调整它的大小。拇指有一个附加的行为,我想调整大小。

它目前不起作用,但应该很好地了解我的目标。

如何让这种行为起作用?

0 投票
1 回答
1150 浏览

wpf - 属性更改 Xaml 时更新另一个 UI 元素

我想知道在调用 propertychanged 时是否可以更新另一个 UI 元素。

这是一个例子:

假设我的测试类有一个名为 Update 的方法。如何设置它以便在 Xaml 中的 TestString 属性发生更改时调用 Update?我知道我总是可以将方法附加到事件处理程序,但我想知道我是否可以在 Xaml 中做到这一点。也许使用行为或类似的东西。你能告诉我这是否可能吗?如果可以,你能帮助我朝着正确的方向前进吗?