更改Catel + Orchestra应用程序的启动画面

时间:2015-07-10 19:38:09

标签: customization splash-screen catel

我正在尝试修改我的管弦乐应用的默认启动画面。发现SplashScreen.png默认包含在resources / images文件夹中,并用我自己的(相同的宽度和高度)覆盖它。启动画面没有改变。

我去看了Orchestra的代码并找到了SplashScreen视图。并且看到你有一个placelogo的占位符。

        <Image Grid.Row="3" Grid.Column="0" Source="{Binding CompanyLogoForSplashScreenUri}" HorizontalAlignment="Left" 
           Margin="10" VerticalAlignment="Bottom" Stretch="Uniform" Opacity="0.7"
           Visibility="{Binding CompanyLogoForSplashScreenUri, Converter={catel:ReferenceToCollapsingVisibilityConverter}}"/>

在视图模型上,我发现构造函数调用了IAboutInforService

public SplashScreenViewModel(IAboutInfoService aboutInfoService)
    {
        Argument.IsNotNull(() => aboutInfoService);
        var aboutInfo = aboutInfoService.GetAboutInfo();
        CompanyLogoForSplashScreenUri = aboutInfo.CompanyLogoForSplashScreenUri;
    }

但GetAboutInfo返回的AboutInfo对象中的CompanyLogoForSplashScreenUri属性始终为null。构造函数永远不会添加uri引用。

public AboutInfo GetAboutInfo()
    {
        var aboutInfo = new AboutInfo(new Uri("pack://application:,,,/Resources/Images/CompanyLogo.png", UriKind.RelativeOrAbsolute));
        return aboutInfo;
    }

public AboutInfo(Uri companyLogoUri = null, string logoImageSource = null, string url = null, Assembly assembly = null, Uri companyLogoForSplashScreenUri = null)

那么我该如何将公司标识添加到启动画面?

1 个答案:

答案 0 :(得分:1)

构造函数中有2个 CompanyLogoUri 。正如您可以通过变量名称看到的,两者都有其自己的目的:

  1. companyLogoUri
  2. companyLogoForSplashScreenUri
  3. 我想你要设置第二个; - )