The*_*uin 9 c# generics wpf xaml
我正在尝试在XAML中创建一个Window派生类,它可以采用泛型参数,但我似乎无法在XAML中定义泛型参数,以便它生成与我的代码隐藏文件匹配的部分类.
我想要完成的是替换所有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;
    }
}
任何帮助或提示都非常感谢
你不能这样做.以下是我对这个类似SO问题的回答:
不,您不能在XAML中声明泛型类型.来自http://social.msdn.microsoft.com/forums/en-US/wpf/thread/02ca0499-80af-4c56-bb80-f1185a619a9e:
您好,只要您不使用XAML就可以使用泛型.但不幸的是,如果你想使用XAML来定义你的控件,你就不能使用泛型...
您可以通过x:TypeArguments在根标记上放置属性来在XAML中创建继承自泛型类型的控件,但控件本身必须是具体的.