问题标签 [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 回答
619 浏览

c# - LineBreak 的 TextBlock 内联附加行为问题

嗨,有没有办法检查 Run 是否只是一个LineBreak

先解释一下

建议您在 a 中创建一些带有一些 LineBreaks 的文本,RichTextBox现在让我们进一步建议,在您想将文本保存在数据库中之后,您可能会FlowDocumentXML我现在所做的TextBlock那样转换回到 FlowDocument 编写 GetAllLine 扩展并使用附加行为绑定到TextBlock.Inlines此处结束我的 LineBreak 问题发生<Run xml:lang='de-de' xml:space='preserve' />不会导致LineBreak.

现在这是我到目前为止所得到的

XAML

代码隐藏

依附行为

0 投票
1 回答
660 浏览

c# - 如何将附加行为右键单击文本块?

我正在开发 WPF 应用程序并尽我所能遵循 MVVM 架构。我正在为我的所有命令和行为使用 GalaSoft MVVM 光继电器命令实现。

目前,我正在尝试学习和理解附加行为,特别是如何为我的应用程序中的文本块实现附加行为。

我想做的是有一种风格,我可以应用它来选择将执行一些通用命令的文本块(稍后将详细介绍我所说的“通用”)

这是我想做的一个例子。

例如,我有两个窗口。显然在实际应用中我会有更多,但这应该适合我的指导需求。

我想将附加行为应用于这些窗口中的文本块,以实现定义的行为......代码......

主窗口

主窗口视图模型

主窗口模型

现在是辅助窗口....

辅助窗口

辅助窗口视图模型

辅助窗口模型

我想要做的是能够在资源字典或 App.xaml 中拥有一种样式,我可以将其应用于这些文本块中的每一个。该样式将指定一个附加行为,该行为将使用文本块内容的参数执行一个方法,右键单击。

伪代码

这是一大堆示例代码和解释,用于描述可以通过背后代码中的事件处理程序完成的事情......但这不会遵循 MVVM 模式。

请记住我在您的回复中使用了 MVVM 灯。

0 投票
1 回答
209 浏览

c# - 为 ListViewItem 应用默认样式,同时使用自定义行为

我正在使用自定义行为将列表视图项滚动到 ListView 的当前可见视图中:

mvvm 如何使列表视图自动滚动到列表视图中的新项目

问题是,正如这个问题中所描述的那样,列表视图项目失去了它们的显示定义(我猜是模板):

应用 ItemContainerStyle 时 ListView 失去 GridView 显示

但是,我不想重新定义 ListViewItem 的模板;即我想使用默认值,由 WPF 提供。

0 投票
1 回答
1432 浏览

mvvm - 带有 MVVM Light 的 Windows 应用商店应用程序中的附加行为

我一直在尝试使用 MVVM Light 框架在一个简单的 Windows 应用商店应用程序中使用附加行为。由于我们不能像在 Windows Phone 中那样使用 System.Windows.Interactivity,因此我一直在使用Windows.UI.InteractivityWinRtBehaviors库。它们运行良好,但问题是我无法在数据模板中声明附加行为

我真正想要的是将命令附加到 GridView 中的任何项目,以便我可以将项目 ID 作为参数传递。由于该附加行为不起作用,我找到的唯一解决方案是使用 GridView 的“SelectionChanged”事件并将 SelectedItem 作为参数传递给 ViewModel 中的属性:

做这样的事情会非常好(不需要在 ViewModel 中有SelectedArtist属性)

0 投票
1 回答
1169 浏览

c# - 将命令附加到树视图子级 - 嵌套子级不同

我正在使用这里的代码:WPF/MVVM - 如何处理在 ViewModel 中双击 TreeViewItems?,来自接受的答案。我的 xml 是这样的:

来自 Style 标记的附加命令不起作用,因为 TreeView 标记级别上已经附加了一个命令,所以它不应该起作用。我要做的是为顶级孩子执行一个命令,为低级孩子执行另一个命令。我怎么做?

编辑:

所以,正如 Viv 所建议的 - 我如何检查 treeviewitem 是否是根节点?

0 投票
1 回答
195 浏览

wpf - 如何在 WPF 中设置子类组件的样式

我在 WPF/XAML 中有一个 TextBox 的子类,我希望对它应用与所有其他 TextBox 实例相同的样式。我定义了以下样式

和一个类 TextBoxBehaviours 来实现这些

在我一直在做的 XAML 文件中

并且所有以下文本框都得到我希望的行为。鉴于我的子类也是一个 TextBox 类,我认为这些也会得到这种行为,但它们不会。我尝试通过扩展样式来明确

但我得到一个错误,告诉我关键EditForLength

因此,总而言之,通过父类上的样式安装的行为不会传播到子类实例,但是当尝试添加另一种针对子类的样式时,会出现一些字典错误。

注意我已经在EditForLength控件的实例上尝试了明确的行为,它们可以正常工作。我只是无法通过样式安装行为。

更新

发现即使除样式声明之外的所有重要位都被注释掉时,我也会收到错误

0 投票
1 回答
75 浏览

silverlight - Silverlight - 为什么要使用附加属性?

我正在研究 Silverlight(主要用于 Windows Phone 开发)。我阅读了 Silverlight 2 Unleashed,目前正在阅读 Silverlight 4 Unleashed。后者有一章关于依赖属性。正如我从本章中了解到的那样,依赖对象(具有依赖属性)用于 UI 控件对象以支持动画和数据绑定系统。好的。这很清楚。

现在,随着本章的继续,将讨论附加属性。使用它的主要原因(如书中以及互联网上所述)是为了防止创建子类并将附加属性添加到相关对象。由于附加属性已经是依赖属性,因此也添加了附加行为

现在的问题是:我该怎么做?子类化有什么问题?真的,为什么在处理附加属性时有很多代码?

0 投票
1 回答
1402 浏览

wpf - Behavior Initialisation in Datatemplates

I understand that interesting things happen to attached properties in datatemplates but this one is very strange.

I have a behavior with a dependency property on it, the property is type List<DataStatePair>

As you can see, I've marked it as the content property. The XAML looks like this:

The problem? 3 DataStatePair instances are added for each use of the datatemplate. I use the template 32 times in my app and get 96 DataStatePair instances in total. Grizzly! I understand how this is possible. The Behavior is static for the datatemplate but the DataStatePair instances are not and a List can be added to.

If change the dependency property to an IEnumerable everything breaks - it will not compile. If I set the property explicitly with an x:Array in XAML, everything works as expected - I only ever get 3 states. XAML below;

Does anyone know why this is and what the most elegant solution is. I can imagine a Microsoft implementation would not make you use x:Array.

EDIT : The x:Array solution breaks the blend designer.

XamlParseException: Add value to collection of type 'System.Collections.Generic.IEnumerable(SSW.WPFExtensions.DataStatePair)' threw an exception.

EDIT : Removing the [System.Windows.Markup.ContentProperty("StateDefinitions")] attribute definition works great. I dont understand what is going on!

WPF, what are you doing. WPF, STAHP

0 投票
1 回答
18013 浏览

wpf - 应用行为的选项不会出现

我一直在尝试在 wpf 窗口上实现行为,因此我在当前解决方案中添加了对 System.Winodws.Interactivity 的引用,然后编写了所需的行为。但为了应用此行为,我必须在 Windows XAML 中编写类似的内容。

但这不是有效的标签,因为我可能必须添加对除 System.Windows.Interactivity 之外的任何其他程序集的引用,所以,请建议我还需要做什么才能在 XAML 中使用标签

0 投票
1 回答
618 浏览

debugging - Internet Explorer 11 有空记录集

我有一个使用 XML 数据绑定的经典 asp 应用程序。使用 IE9 仿真设置,它可以在 IE10 版本中正常工作。但在 IE11 中,记录集始终为空。但是,这些值使用#DATASRC 和DATAFLD 正确绑定到输入字段。只是当我尝试通过 recordset.absolutePosition 访问特定记录时,它会爆炸。由于数据绑定似乎正在运行,因此肯定有一种方法可以指定数据的特定行。