从WPF应用程序显示“选择用户和组”对话框?

时间:2009-10-04 07:04:30

标签: .net wpf dialog

我需要从.NET / WPF应用程序中显示标准的“选择用户和组”对话框。我还需要能够在64位操作系统下显示它。我发现this CodeProject文章非常古老,可以追溯到.NET 1.1天。它是用托管C ++编写的,并作为COM对象公开,不适合我的需要。

是否有人实现或了解了一个纯.NET / C#包装器的实现,以显示和与标准系统“选择用户和组”对话框进行交互,该对话框将与WPF应用程序一起使用?

3 个答案:

答案 0 :(得分:19)

好吧,我找到了解决方案。结果我正在寻找错误的东西。要搜索的是“Active Directory对象选择器”,而不是“选择用户或组”。 ADOP是用于从Active Directory中挑选任何对象的常用对话框,包括用户,组,计算机等。恰好这个对话框在大多数情况下标题为“选择用户或组”。

为了解决此问题的其他任何人的利益,我发布了一个指向CodePlex项目的链接, Active Directory通用对话框.NET ,它提供了一个非常易于使用的.NET包装器对于这个对话框。使其与任何其他常见的.NET对话框一样易于使用:

http://adui.codeplex.com/

对于那些在64位操作系统或更现代的操作系统(Win2k8 +)上运行的人,在选择用户或组并选择确定后可能会遇到崩溃。这个问题的解决方案在这里:

http://www.codeplex.com/ADUI/Thread/View.aspx?ThreadId=38047

希望这可以帮助那些正在寻找相同事物的人。

答案 1 :(得分:3)

我们在https://github.com/Tulpep/Active-Directory-Object-Picker创建了一个NuGet。

它基于这个项目https://adui.codeplex.com/,其他人提到的项目,但内存泄漏已修复。

答案 2 :(得分:1)

http://adui.codeplex.com/ - 这是很好的实现,但它有内存泄漏,我无法删除。如果您使用它并尝试多次打开广告选择器对话框,您将收到AccessViolationException以读/写内存。这是不好的迹象。

我使用了here的另一个包装器。它应该在代码中进行一些自定义但是AccessViolationExceptions。