それはかなり簡単な質問ですね。
ICommandSource を実装するこれらのコントロールのフラット リストの直後です..便利だと思いますし、誰かがそのような情報を持っていることは間違いありません。
前もって感謝します
リフレクターによると: ButtonBase、MenuItem、HyperlinkおよびInputBinding(これはコントロールではありません)。
次のコード スニペットを試してください。
Assembly assem = Assembly.LoadFrom(@"C:\Program Files (x86)\Reference Assemblies\Microsoft\Framework\v3.0\PresentationFramework.dll");
foreach (Type t in assem.GetTypes())
{
Type interfaceType = t.GetInterface("ICommandSource");
if (interfaceType != null)
Console.WriteLine(t.ToString());
}
短すぎるリストを拡張したい場合は、ここに良い提案があります。