【发布时间】:2016-06-23 16:51:24
【问题描述】:
我有一个在运行时动态加载的 XAML 控件。这是纯 XAML,没有后面的代码。
我无法控制父加载机制,这就是为什么这看起来有点奇怪。
我有一个父应用程序,它加载我的插件 DLL 并加载我的 XAML 控件。
我的 DLL 签名是:
public class Application : BaseClassHere
{
public Application(IParentContext context) : base(context)
{
// Im placing this instance in the bag which i use in my XAML
base.MyObservablePropertyBag["MyParentContext"] = new ObservableValue<object>(this);
}
}
我的 XAML 是这样的:
<av:UserControl
xmlns:local="clr-namespace:MyApplicationNS;assembly=MyDll"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:av="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:d="http://schemas.microsoft.com/expression/blend/2008" >
<Border DataContext="{Binding MyObservablePropertyBag[MyParentContext].Value}" >
<Button Name="MyButton" />
</Border>
</UserControl>
此绑定在 XAML 中完美运行。我可以完全访问我在 Application 类中定义的所有公共属性。
我的问题是我想链接到我的按钮上的点击事件。如果我在 XAML 中添加一个 Click 事件,它会在运行时出错,告诉我我需要编译我的 XAML。
有没有办法订阅Application类中MyButton的Click事件?
【问题讨论】:
-
通过 xaml 向 Routed.Event click 添加事件触发器时出错?
标签: c# wpf xaml events runtime