<i: Interaction.Behavior> 选项不适用于应用行为

Posted

技术标签:

【中文标题】<i: Interaction.Behavior> 选项不适用于应用行为【英文标题】:<i: Interaction.Behavior> option is not coming for applying beahviour 【发布时间】:2013-09-13 04:46:28 【问题描述】:

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

<Window x:Class="WpfApplication5.MainWindow" 
        xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" 
        xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" 
        Title="MainWindow" Height="350" Width="525" 
        xmlns:behav ="clr-namespace:WpfApplication5" 
        xmlns:i="http://schemas.microsoft.com/expression/2010/interactivity;assembly=System.Windows.Interactivity">
    <Window.Resources>
        <i:Interaction.Behaviors>
            <behav:DialogIconRemoveBehavior></behav:DialogIconRemoveBehavior>
        </i:Interaction.Behaviors>
    </Window.Resources>
    <Grid>

    </Grid>
</Window>

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

【问题讨论】:

【参考方案1】:

浪费了我一小时后,我才知道只有我必须包含 System.Windows.Interactivity 作为参考并且我已经完成了。

问题是不能在任何控件的资源部分中声明行为。

我拍下的那一刻

<i:Interaction.Behaviors>

</i:Interaction.Behaviors>

资源不足,然后它工作正常。

所以,结论只有 System.Windows.Interacivity 是唯一需要的。

永远不要在资源或样式中声明该行为部分。

【讨论】:

截至 2019 年,请参阅 this 并注意命名空间现在是 http://schemas.microsoft.com/xaml/behaviors(以前,就像您的问题中一样:http://schemas.microsoft.com/expression/2010/interactivity

以上是关于<i: Interaction.Behavior> 选项不适用于应用行为的主要内容,如果未能解决你的问题,请参考以下文章

考虑 x^i+y^i=z^i, x<=y<=z<=m 和 2<=i<=n (m 和 n 是输入) m 可以从 5 变化到 100 n 可以从 2 变化到 100

基础练习 特殊回文数

全兼容的多列均匀布局问题

c++内存示例26位置,左移,等号操作符,重置

<div></div> 内的 <i> </i> 内的内容可以隐藏吗? [复制]

for(;i<=m;i++) 是啥意思? [复制]