Стиль «Не удается найти ресурс MetroButton» в MahApps для wpf .netcoreapp 3.1 - PullRequest
0 голосов
/ 23 апреля 2020

Я обновляю приложение wpf .netframework 4.7, которое использует стиль MahApps.Metro, до приложения wpf .netcoreapp3.1. После миграции я получил:

System. Windows .Markup.XamlParseException: '' Предоставить значение для 'System. Windows .StaticResourceExtension' вызвал исключение.

Исключение: не удается найти ресурс с именем MetroButton. Имена ресурсов чувствительны к регистру.

<ResourceDictionary.MergedDictionaries>
            <!-- MahApps.Metro resource dictionaries. Make sure that all file names are Case Sensitive! -->
            <ResourceDictionary Source="pack://application:,,,/MahApps.Metro;component/Styles/VS/Colors.xaml" />
            <ResourceDictionary Source="pack://application:,,,/MahApps.Metro;component/Styles/VS/Button.xaml" />
            <ResourceDictionary Source="pack://application:,,,/MahApps.Metro;component/Styles/VS/Styles.xaml" />
            <ResourceDictionary Source="pack://application:,,,/MahApps.Metro;component/Styles/Controls.xaml" />
            <ResourceDictionary Source="pack://application:,,,/MahApps.Metro;component/Styles/Fonts.xaml" />

            <ResourceDictionary>
                <!--Button-->
                <Style x:Key="SmallButtonStyle" TargetType="Button" BasedOn="{StaticResource MetroButton}">
                    <Setter Property="Height" Value="40" />
                    <Setter Property="Width" Value="200" />
                    <Setter Property="Margin" Value="5,2" />
                    <Setter Property="FontSize" Value="14" />
                </Style>
                <Style x:Key="StandardButtonStyle" TargetType="Button" BasedOn="{StaticResource MetroButton}">
                    <Setter Property="Height" Value="50" />
                    <Setter Property="Width" Value="350" />
                    <Setter Property="Margin" Value="10,5" />
                    <Setter Property="FontSize" Value="20" />
                </Style>

Это работает с MahApps.Metro версии 1.65 под .netframework 4.7, но с MahApps.Metro 2.0.0-alpha0748 я получаю исключение.

1 Ответ

0 голосов
/ 23 апреля 2020

Решение: измените MetroButton на MahApps.Styles.Button

 <Style x:Key="SmallButtonStyle" TargetType="Button" BasedOn="{StaticResource MahApps.Styles.Button}">
                    <Setter Property="Height" Value="40" />
                    <Setter Property="Width" Value="200" />
                    <Setter Property="Margin" Value="5,2" />
                    <Setter Property="FontSize" Value="14" />
                </Style>
...