Ursa.Avalonia icon indicating copy to clipboard operation
Ursa.Avalonia copied to clipboard

在第二层的MenuItem中调用OverlayDialog时,对话框闪烁的问题

Open satanikia1300 opened this issue 8 months ago • 1 comments

问题:

在第二层的MenuItem中调用OverlayDialog时,对话框会先在左上角闪一下再到画面中间。 有Overlay的MessageBox也会。 原因不明,暂时的解决方法是调用前加Task.Delay(1)

环境:

Windows11

版本:

Avalonia 11.1.0-beta2 Semi.Avalonia 11.1.0-beta2 Irihi.Ursa 0.3.0-beta20240518

代码如下:

MainWindow.axaml

<Panel>
    <DockPanel>
        <Menu DockPanel.Dock="Top">
            <MenuItem Header="菜单">
                <MenuItem Click="Button_Click" Header="测试1" />
            </MenuItem>
        </Menu>
        <Button Click="Button_Click" Content="测试2" />
    </DockPanel>
    <u:OverlayDialogHost />
</Panel>

MainWindow.axaml.cs

private async void Button_Click(object? sender, RoutedEventArgs e)
{
    //加延迟可以解决这个问题
    //await Task.Delay(1);
    var ret = await OverlayDialog.ShowModal(null, null);
}

satanikia1300 avatar May 28 '24 07:05 satanikia1300