Как я могу установить действие двойного щелчка по умолчанию в Visual Studio?

Как перевести информацию о событии Microsoft ButtonBase.Click для C ++ / WinRT в объявление и определение прототипа?

blockquote>

Не уверены, что вы подразумеваете под prototype declaration and definition с тех пор, как дали Сама информация является прототипом.

На этой странице вы можете найти больше информации об обработке событий в C ++ / Winrt. Линк объясняет, как обрабатывать и отзывать события с делегатами, и приводит пример обработки события нажатия кнопки для C++/WinRT. Короче говоря, вам нужно иметь обработчик и зарегистрировать его через делегата.

// function that handles event
void MainPage::ClickHandler(IInspectable const& /* sender */, RoutedEventArgs const& /* args */)
{
    Button().Content(box_value(L"Clicked"));
}
...
// register above function for event handler
Button().Click({ this, &MainPage::ClickHandler });

UPD: Я пытался проверить на предмет ошибки The document item has no code-behind file. Add a code-behind file and a class definition before adding event handlers, когда пользователь пытается получить доступ к свойствам и обработчикам событий. Я мог бы легко воспроизвести эту проблему, создав пустое приложение (C ++ / Winrt) после установки расширения cppwinrt .

Я проверил пример приложения для редактирования фотографий из ms github для дальнейшей отладки этой проблемы. В этом примере приложения мне не удалось загрузить режим разработки XAML. Сначала он попросил меня обновить версию Windows до 1809, но мне не удалось обновить. Поэтому я решил вернуться к этому идентификатору коммита, который не требует обновления Windows 1809.

После этого проект XAML завершился ошибкой Some assembly references are missing. Building to restore the NuGet cache might resolve this issue.. Исследования привели меня к этой проблеме , которая закрыта следующим комментарием

Это в настоящее время не поддерживается. Команда XAML в настоящее время работает над поддержкой дизайнера, поэтому вы должны увидеть это в будущем обновлении Windows SDK.

blockquote>

После открытия проблемы в MS docs github я получил от них следующий ответ, и согласно странице документации MS была обновлена.

Я добавил следующую информацию в подраздел «Пустое приложение (C ++ / WinRT)» этой темы, поскольку это шаблон проекта, который использует XAML в качестве пользовательского интерфейса.

«Поддержка поверхности разработки Visual Studio XAML для C ++ / WinRT близка к паритету с C #. Единственным исключением является вкладка Events в окне Properties. В C # проекте вы можете использовать эту вкладку для добавления обработчиков событий; в C ++ / Проект WinRT, такого средства нет. Но посмотрите, как обрабатывать события, используя делегаты в C ++ / WinRT, чтобы получить информацию о том, как добавить обработчики событий в ваш код. "

Это изменение должно скоро появиться. Пожалуйста, дайте мне знать, если я могу добавить что-нибудь еще.

blockquote>
45
задан hims056 22 September 2012 в 05:52
поделиться

3 ответа

Щелкните правой кнопкой по файлу в Проводнике Решения, выберите "Open With...", выберите Редактора До-диеза и нажмите кнопку "Set as Default".

59
ответ дан Paul Stovell 26 November 2019 в 21:21
поделиться

Щелкните правой кнопкой по файлу формы и нажмите "Open With...". Выберите своего желаемого разработчика, чтобы открыться как значение по умолчанию (в этом случае "Редактор До-диеза" или "Редактор Microsoft Visual Basic") и нажать "Set as Default". Вуаля.

12
ответ дан Chris Hynes 26 November 2019 в 21:21
поделиться

с этим атрибутом myClass откроется в редакторе кода а не разработчике:

[System.ComponentModel.DesignerCategory("")]
public class myClass : Form
{

}
0
ответ дан 26 November 2019 в 21:21
поделиться
Другие вопросы по тегам:

Похожие вопросы: