我正在構建一個可供許多用戶使用的應用程序。每個用戶被分類到下一個認證級別之一:在ConverterParameter中使用枚舉
public enum AuthenticationEnum
{
User,
Technitian,
Administrator,
Developer
}
某些控件(如按鈕)僅暴露於用戶的某些水平。 我有保持當前用戶的身份驗證級別的屬性:
public AuthenticationEnum CurrentAuthenticationLevel { get; set; }
我想這個屬性的一些控件的「公開程度」屬性綁定和參數傳遞到轉換器的方法,告訴它是什麼能夠看到控件的最低認證級別。 例如:
<Button Visibility="{Binding Path=CurrentAuthenticationLevel, Converter={StaticResource AuthenticationToVisibility}, ConverterParameter="Administrator"}"/>
意味着,只有「管理員」和「開發者」可以看到按鈕。 不幸的是,上面的代碼以字符串形式傳遞「Administrator」。當然,我可以在轉換器方法內使用Switch-Case並將字符串轉換爲AuthenticationEnum。但這很醜陋,容易出現維護錯誤(每次枚舉更改 - 轉換器方法應該更改)。
有沒有更好的方式來傳遞不平凡的對象作爲參數?
您不需要將`ConverterParameter`作爲字符串傳遞 – 2011-02-09 08:14:49
使Fredrik的答案爲答案Please。 – 2013-07-04 08:45:21
有關其他格式和更多詳細信息,請參閱此處 - https://stackoverflow.com/questions/359699/passing-an-enum-value-as-command-parameter-from-xaml – akjoshi 2018-01-17 12:46:11