2016-06-23 17 views
0

私は実行時に動的に読み込まれるXAMLコントロールを持っています。これはコードがない純粋なXAMLです。XAMLを動的に読み込むときに、XAMLコントロールのクリックイベントにアタッチします。

私は親ローディングメカニズムを何も制御していないので、これはちょっと変わっています。

私は、私のプラグインDLLを読み込み、自分のXAMLコントロールを読み込む親アプリケーションを持っています。

私のDLLの署名がある:

<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でこの結合作品:

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は、このようなものです。私は、アプリケーションクラスで定義したすべてのパブリックプロパティに完全にアクセスできます。

私の問題は、私のボタン上のクリックイベントにリンクしたいということです。 XAMLでClickイベントを追加すると、実行時にエラーが発生し、XAMLをコンパイルする必要があることがわかります。

ApplicationクラスのMyButtonでClickイベントを購読する方法はありますか?

+0

Route.Eventにイベントトリガーを追加するとエラーが発生しました.xaml経由でクリックしますか? –

答えて

1

あなたがバインディングの作品を言うなら、なぜClickイベントを混乱させるのですか? ButtonのCommandプロパティを使用します。プロパティバッグに配置してバインドするICommandインスタンス(DelegateCommandまたはRelayCommandなど)を作成します。

+0

パーフェクト。 HadntはかつてICommandを使用していました。 – CathalMF

関連する問題