You need to enable JavaScript to run this app.
最新活动
大模型
产品
解决方案
定价
生态与合作
支持与服务
开发者
了解我们

Avalonia中点击子窗口按钮无法隐藏自身的问题求助(多视图绑定同一ViewModel场景)

Avalonia中点击子窗口按钮无法隐藏自身的问题求助(多视图绑定同一ViewModel场景)

大家好,我遇到一个Avalonia的绑定问题,想请教下各位开发者:

我现在有两个视图绑定到同一个MainWindowViewModel。在主窗口的ViewModel里,我创建并打开了第二个窗口(SettingsWindow)。现在我想实现点击第二个窗口上的按钮来隐藏它自己,但遇到了麻烦——把Hide()逻辑绑定到子窗口的按钮上时完全没效果,可如果把同一个命令绑定到主窗口的按钮上,就能正常隐藏子窗口。

具体的代码情况如下:

MainWindowViewModel中的相关代码

首先是隐藏窗口的方法:

public void DeclineSettingsChanges()
{
    SW.Hide();
}

然后是响应式命令的定义与初始化:

private ReactiveCommand<Unit, Unit> DeclineSettingsChangesCommand { get; }

// 在构造函数中创建命令
DeclineSettingsChangesCommand = ReactiveCommand.Create(DeclineSettingsChanges);

SettingsWindow.axaml中的按钮绑定

<Button Content="Cancel" Command="{Binding DeclineSettingsChangesCommand, Source={StaticResource MainWindowViewModel}}"/>

主窗口MainWindow.axaml里用完全一样的绑定方式,按钮就能正常隐藏SettingsWindow,可子窗口自己的按钮就是没反应。有没有朋友知道这是哪里出问题了?该怎么调整才能让子窗口的按钮触发隐藏自身的操作呢?

备注:内容来源于stack exchange,提问作者DarkMessiah

火山引擎 最新活动