如何从 WPF 中的代码隐藏设置交互行为?

How to Set Interaction Behavior from Code Behind in WPF?

我对 Window 的行为如下

<Window>
    <my:Notify x:Name="Not"/>
    <behaviors:Interaction.Behaviors>
        <behavior:RebuildBehavior Element="{Binding ElementName=Not}" />
    </behaviors:Interaction.Behaviors>
<Window>

现在我想在代码后面写这段代码,所以我使用了这段代码:

在 Notify.cs(加载的事件)中:

RebuildBehavior behavior = new RebuildBehavior();
behavior.Element = this;
Interaction.GetBehaviors(this).Add(behavior);

但是我的应用程序在最后一行崩溃了Interaction.GetBehaviors(this).Add(behavior);

System.Resources.MissingManifestResourceException: 'Could not find the resource "ExceptionStringTable.resources" among the resources "

我写的代码正确吗?

更新: 我将代码移至 window.cs(已加载事件)

RebuildBehavior behavior = new RebuildBehavior();
behavior.Element = Notify.Instance;
Interaction.GetBehaviors(this).Add(behavior);

崩溃已修复但无法正常工作

以下代码相当于您的 XAML 标记:

public partial class MainWindow : Window
{
    public MainWindow()
    {
        InitializeComponent();
        RebuildBehavior behavior = new RebuildBehavior();
        BindingOperations.SetBinding(behavior, RebuildBehavior.ElementProperty, 
            new Binding() { ElementName ="Not" });
        Interaction.GetBehaviors(this).Add(behavior);
    }
}