User のコレクションを保持する ObservableCollection があります
class User
{
public int Id{ get; set; }
public UserType UserType{ get; set; }
}
および列挙型
enum UserType
{
Admin,
Moderator,
User,
Guest
}
次に、ViewModel からアクセスできる UserTypeMap という列挙型のマッパーがあります。
public class UserListViewModel : INotifyPropertyChanged
{
......
public ObservableCollection<User> Users
{
get{ return this.users; }
set{ this.users = value; this.InvokePropertyChanged( "Users" );
}
public IDictionary<UserType, string> UserTypeMap{ get; set; }
{
get{ return this.userTypeMap; }
set{ this.userTypeMap= value; this.InvokePropertyChanged( "UserTypeMap" );
}
....
}
クライアント側では、ユーザーのリストを保持する DataGrid を作成しました
<sdk:DataGrid ItemsSource="{Binding Users}">
<sdk:DataGridTextColumn Binding="{Binding Id}" Header="ID"/>
<sdk:DataGridTextColumn Binding="{**??????????**}" Header="Type"/>
</sdk>
辞書の値をDataGridTextColumnにバインドする方法がわかりません。以前に SelectedValue と ItemsSource を使用してコンボボックスを使用しようとしましたが、機能しましたが、コンボボックスではなくテキストボックス/ラベルに表示したい...
これを行うための純粋な xaml の方法 (ページの背後にあるコードではない) はありますか?
ありがとう、ウィル