如何在使用Caliburn.Micro设置的应用程序中设置窗口/应用程序图标

PlT*_*lor 4 wpf caliburn.micro

我想我错过了一些明显的东西.但是,因为我的应用程序的主窗口是一个正在启动的UserControl

protected override void OnStartup(object sender, StartupEventArgs e)
{
    DisplayRootViewFor<MainWindowViewModel>();
}
Run Code Online (Sandbox Code Playgroud)

在我的引导程序中如何设置窗口本身的图标和工具栏中的应用程序?

Fra*_*ank 8

  • 基于XAML的解决方案:将MainWindowView基类更改UserControlWindow(在.xaml和.xaml.cs中),然后Icon在xaml中设置属性或任何其他特定于窗口的属性.

  • 基于代码的解决方案:DisplayRootViewFor<T>采用可选的设置参数:

    var settings = new Dictionary<string, object>
    {
        { "Icon", new BitmapImage(new Uri("pack://application:,,,/WpfApplication2;component/icon.png")) },
        { "ResizeMode", ResizeMode.NoResize }
    };
    
    DisplayRootViewFor<IShell>(settings);
    
    Run Code Online (Sandbox Code Playgroud)

    键应对应于要设置的窗口属性,并且值类型必须匹配.