私が通常オブジェクトからそのイベントハンドラーに情報を取得する方法は、そのを使用することDataContext
です。これがあなたにとっての選択肢である場合(そうであるかどうかを判断するのは難しい)、それは非常に簡単なことです。ボタンのが設定されている場合DataContext
(これはコードビハインドから非常に簡単に実行できます)、次のようにアクセスできます。
private void b_ClickMethod(object sender, RoutedEventArgs e)
{
// Let's say you're trying to pass a Car-object
var car = sender.DataContext as Car;
// Manipulate away.
}
DataContextを設定する方法は、非常に簡単です。
CarViewModel someViewModel = new ViewModel(); // or whatever
Car someCarObject = someViewModel.getSomeCar(); // basically - find the object you would like to send.
btn.DataContext = someCarObject;
お役に立てれば。最後に、そのようなボタンの作成を再検討することをお勧めします。特定のシナリオでボタンのみが必要な場合は、それらのボタンのVisibility
パラメーターをに設定するだけで、よりクリーンなコードが得られVisibility.Hidden
ます。