我想要完成的是替换所有MessageBox调用以询问用户问题,我可以在哪里给出有意义的按钮标题(‘保存并退出’/’退出而不保存’/’不要退出’类型的东西) .我希望能够向窗口传递一个限制为System.Enum的泛型参数,该参数定义所选选项的返回值:
<Window x:Class="EvilPenguin.MultipleChoiceQuestionBox"> ...
public partial class MultipleChoiceQuestionBox<T> : Window where T : System.Enum { public MultipleChoiceQuestionBox() { InitializeComponent(); } public T SelectedOption { get; } }
>有没有办法让我的XAML生成一个具有正确泛型参数的分部类?
>我做错了吗?出于某种原因这是一个坏主意,还是有更简单的方法?
>目前在XAML中这是不可能的吗? x:TypeArgument属性并不能完全符合我的要求,但它表明XAML的至少某些方面知道泛型参数
任何帮助或提示都非常感谢
解决方法
不,您不能在XAML中声明泛型类型.从http://social.msdn.microsoft.com/forums/en-US/wpf/thread/02ca0499-80af-4c56-bb80-f1185a619a9e开始:
Hello,you can use generic as long as
you don’t use XAML. But unfortunately,
if you want to use XAML to define your
control,you can’t use generic…
您可以通过在根标记上放置x:TypeArguments
属性来在XAML中创建继承自泛型类型的控件,但控件本身必须具体.
原文地址:https://www.jb51.cc/csharp/91718.html
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。