多くのユーザーが使用できるアプリケーションを構築しています。各ユーザーは、次の認証レベルのいずれかに分類されます。
public enum AuthenticationEnum
{
User,
Technitian,
Administrator,
Developer
}
一部のコントロール (ボタンなど) は、特定のレベルのユーザーにのみ公開されます。現在のユーザーの認証レベルを保持するプロパティがあります。
public AuthenticationEnum CurrentAuthenticationLevel { get; set; }
このプロパティを一部のコントロールの「Visibilty」プロパティにバインドし、Converter メソッドにパラメータを渡して、コントロールを表示できる最低の認証レベルを伝えたいと考えています。例えば:
<Button Visibility="{Binding Path=CurrentAuthenticationLevel, Converter={StaticResource AuthenticationToVisibility}, ConverterParameter="Administrator"}"/>
「管理者」と「開発者」のみがボタンを見ることができることを意味します。残念ながら、上記のコードは"Administrator"文字列として渡されます。もちろん、コンバーター メソッド内で switch/case を使用して、文字列を に変換できますAuthenticationEnum。しかし、これは見苦しく、メンテナンス エラーが発生しやすくなります (enum変更のたびに、コンバーター メソッドも変更する必要があります)。
重要なオブジェクトをパラメーターとして渡すより良い方法はありますか?