Я пытаюсь создать производный от Window класс в XAML, который может принимать универсальный аргумент, но я не могу определить общий аргумент в 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;
}
}
- Есть ли способ заставить мой XAML генерировать частичный класс с правильным универсальным аргументом?
- Я «делаю это неправильно»? По какой-то причине это плохая идея или есть более простой способ?
- Разве это невозможно в XAML на данный момент? Атрибут x: TypeArgument не совсем делает то, что я хочу, но он предполагает, что по крайней мере некоторые аспекты XAML знают об универсальных аргументах
Любая помощь или советы приветствуются