Вы не предоставили нам много информации, но я подумал, что поделюсь с вами своим решением.
Хотя имейте в виду, что это основано на Model-View-ViewModel Design Pattern
.
http://msdn.microsoft.com/en-us/magazine/dd419663.aspx
Хорошее видео введение в MVVM
доступно здесь:
http://blog.lab49.com/archives/2650
Пример кода (для MVVM) здесь:
// XAML
<DataGrid ...SomeCode... SelectedItem="{Binding SelectedItem}"/>
// Inside my ViewModel I have:
private object _SelectedItem;
public object SelectedItem
{
get { return this._SelectedItem; }
set
{
if (value != null)
{
this._SelectedItem = value;
OnPropertyChanged(new PropertyChangedEventArgs(SelectedItemProperty));
}
}
}
// To resolve the SelectedItem you can use the following
var item = (MyNamespace.MyDataSource)SelectedItem;
Хотя вы, возможно, захотите перепроверить, что вы получаете правильный тип данных. :)