Я использовал Desktopacryliccontroller и Systembackdropconfiguration для настройки акрила моего приложения Winui-3.
это работает без каких-либо проблем. Первая проблема возникает, когда окно теряет фокус и снова получает фокус. После этого мой акрил исчез, а задница - чистый темно -серый. < /P>
происходит вторая проблема, когда я закрываю окно. Приложение снимается с исключением Win32 и говорит мне прикрепить отладчика. У меня прикреплен отладчик, но да. Мое приложение, но без какой -либо настройки.
Я также думал о установке фона каждый раз, когда окно сфокусируется, но я не думаю, что это прямо здесь. Потому что это уже должно произойти автоматически. < /P>
Здесь мой код: < /p>
using Microsoft.UI.Composition;
using Microsoft.UI.Composition.SystemBackdrops;
using WinRT;
var acrylicController = new DesktopAcrylicController();
var backdropConfig = new SystemBackdropConfiguration();
backdropConfig.IsInputActive = true;
backdropConfig.Theme = SystemBackdropTheme.Default;
Color color = Color.FromArgb(100, 255, 100, 50);
acrylicController.TintColor = color;
acrylicController.TintOpacity = color.A / 255.0f;
acrylicController.FallbackColor = color;
var handle = WinRT.Interop.WindowNative.GetWindowHandle(this);
acrylicController.SetSystemBackdropConfiguration(backdropConfig);
acrylicController.AddSystemBackdropTarget(this.As());
< /code>
Я использую код внутри конструктора Mainwindow. Окно получает фокус, акрил появляется на секунду, а после этого он становится серым. < /p>
private void Window_Activated(object sender, WindowActivatedEventArgs args)
{
backdropConfig.IsInputActive = args.WindowActivationState != WindowActivationState.Deactivated;
}
Подробнее здесь: https://stackoverflow.com/questions/794 ... fter-app-s
Destopacrycontroller с SystembackDropConfiguration работает только после того, как приложение запустит, пока не потеряет ⇐ C#
-
- Похожие темы
- Ответы
- Просмотры
- Последнее сообщение