我的应用程序中有一个奇怪的错误。每当显示 AboutDialog 时,主窗口上的 companylogo 就会消失。
我发现这与同时使用相同资源的多个窗口有关。在我的测试应用程序中,我正在启动两个这样的窗口:
void App_Startup(object sender, StartupEventArgs e)
{
MainWindow mainWindow = new MainWindow();
mainWindow.Top = 100;
mainWindow.Left = 900;
mainWindow.Show();
}
在我的主窗口上,我正在使用 ContentPresenter,其路径存储为应用程序资源。字符串不会发生这种情况。但我的标志只显示在一个窗口上。
<StackPanel>
<ContentPresenter x:Name="Logo" Content="{DynamicResource BrandingLogo}" Margin="20" HorizontalAlignment="Center"/>
<TextBox Text="{DynamicResource MyConstString}"/>
</StackPanel>
有谁知道如何解决这个问题?
编辑:
在我的实际应用程序中,我的徽标存储在 ResourceDictionary 中,因此无法将 x:Shared 设置为 false。