【问题标题】:WPF: How to remake Mahapps Metro application to class library?WPF:如何将 Mahapps Metro 应用程序重新制作为类库?
【发布时间】:2016-01-28 03:27:13
【问题描述】:

我有一个 WPF Mahapps Metro 风格的应用程序。 那是包含用户控件的主窗口,在它里面可以和其他用户控件一起使用,比如向导页面。

现在我正在尝试将其重新制作为类库以在 WiX Bootstraper 应用程序中使用它。

问题之一是:资源在哪里

 <Application.Resources>
      <ResourceDictionary>
            <ResourceDictionary.MergedDictionaries>
                <ResourceDictionary Source="pack://application:,,,/MahApps.Metro;component/Styles/Controls.xaml" />
...
            </ResourceDictionary.MergedDictionaries>
        </ResourceDictionary>

我已经把它放到主用户控件 xml 中,但这是一个错误:

    <UserControl.Resources>
        <ResourceDictionary> <------------x:Key required?
            <ResourceDictionary.MergedDictionaries>
                <ResourceDictionary Source="pack://application:,,,/MahApps.Metro;component/Styles/Controls.xaml" />
                <ResourceDictionary Source="pack://application:,,,/MahApps.Metro;component/Styles/Fonts.xaml" />
                <ResourceDictionary Source="pack://application:,,,/MahApps.Metro;component/Styles/Colors.xaml" />
                <ResourceDictionary Source="pack://application:,,,/MahApps.Metro;component/Styles/Accents/Blue.xaml" />
                <ResourceDictionary Source="pack://application:,,,/MahApps.Metro;component/Styles/Accents/BaseLight.xaml" />
            </ResourceDictionary.MergedDictionaries>
        </ResourceDictionary>

        <DataTemplate DataType="{x:Type viewModel:ViewModelAlreadyInstalledPage}">
            <view:AlreadyInstalledPage/>
        </DataTemplate>
...

【问题讨论】:

    标签: wpf mahapps.metro


    【解决方案1】:

    您必须将DataTemplate 放入ResourceDictionary:

    <ResourceDictionary>
        <ResourceDictionary.MergedDictionaries>
            <ResourceDictionary Source="pack://application:,,,/MahApps.Metro;component/Styles/Controls.xaml" />
            <ResourceDictionary Source="pack://application:,,,/MahApps.Metro;component/Styles/Fonts.xaml" />
            <ResourceDictionary Source="pack://application:,,,/MahApps.Metro;component/Styles/Colors.xaml" />
            <ResourceDictionary Source="pack://application:,,,/MahApps.Metro;component/Styles/Accents/Blue.xaml" />
            <ResourceDictionary Source="pack://application:,,,/MahApps.Metro;component/Styles/Accents/BaseLight.xaml" />
        </ResourceDictionary.MergedDictionaries>
    
        <DataTemplate DataType="{x:Type viewModel:ViewModelAlreadyInstalledPage}">
            <view:AlreadyInstalledPage />
        </DataTemplate>
    </ResourceDictionary>
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2018-04-27
      • 1970-01-01
      • 2014-02-27
      • 2021-10-19
      相关资源
      最近更新 更多