I would recommend you use the command parameter as you mentioned. So in your xaml do something like this:
<Button x:name="myButton" CommandParameter="{Binding Title}" Click="myButton_Click"/>
And in C # code something like this:
private void myButton_Click(object sender, RoutedEventArgs e) { Button _myButton = (Button)sender; string value = _myButton.CommandParameter.ToString(); }
Indeed, this is very similar to Teemu's answer, although I must admit that I have not used the Tag element before. According to the documentation on MSDN, the tag element should work very nicely, since it can store user information that you can access in your code (or viewmodel).
source share