Как получить чат-чат

Размер (FrameworkElement.ActualWidth FrameworkElement.ActualHeight) и размещение (Canvas.Top, Canvas.Bottom, Canvas.Left, Canvas.Right) ваших элементов будет достаточным, если они всегда прямоугольные. В этом случае вы можете легко вычислить, перекрываются ли два прямоугольника. Если элементы могут быть более сложными, они становятся волосатыми. Я понятия не имею, могу ли я проверить пересечение двух экземпляров Visual в WPF.

Возможно, мы сможем использовать hittesting ? При таком подходе вы могли бы хотя бы проверить, пересекается ли определенная геометрия или с визуализацией certian. Таким образом, вам нужно будет определить геометрию или список точек, которые более или менее точно соответствуют границам вашего второго визуального.

2
задан Drew Marsh 18 January 2019 в 17:40
поделиться

1 ответ

Bot Framework Service не поддерживает стенограммы, это то, что вам нужно внедрить в свой бот. Однако вам повезло, потому что в Bot Builder SDK поставляется промежуточное программное обеспечение с соответствующим названием TranscriptLoggerMiddleware , которое сделает это за вас и может быть настроено с резервным хранилищем по вашему выбору.

Реализация хранилища, которая поставляется в коробке, - это AzureBlobTranscriptStore , которая будет просто добавляться к BLOB-объекту на протяжении всей жизни разговора. Однако, если вы хотите сохранить стенограммы, используя другой механизм хранения, вы можете просто реализовать ITranscriptLogger (только один метод) и передать его промежуточному программному обеспечению.

Для настройки промежуточного программного обеспечения в логике запуска вы должны сделать следующее:

public void ConfigureServices(IServiceCollection services)
{
    // Load the settings from config however you like
    var myAzureBlobTranscriptSettings = LoadMySettingsFromConfig();

    services.AddBot<MyBot>(options =>
    {
        // Register the middleware
        options.Middleware.Add(
           new TranscriptLogger(
               new AzureBlobTranscriptStore(
                 myAzureBlobTranscriptSettings.ConnectionString,
                 myAzureBlobTranscriptSettings.ContainerName)));
    });
}
0
ответ дан Drew Marsh 18 January 2019 в 17:40
поделиться
Другие вопросы по тегам:

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