前缀“style”不映射到命名空间

时间:2016-02-25 17:55:49

标签: c# wpf xaml

我已经查看了StackOverflow上的每个答案,但没有解决我的问题..我在App.xaml中为我的按钮编写了以下样式。并且这个样式与另一个汇编中的类相关联,从中获取数据。 这在运行时工作,但它让我在设计师内部度过了难关。 样式本身没有错误,错误与ControlTemplate有关。

    <Style x:Key="HeaderBTN" TargetType="{x:Type Button}">
        <Setter Property="OverridesDefaultStyle" Value="True"/>
        <Setter Property="Width" Value="36" />
        <Setter Property="Padding" Value="5" />
        <Setter Property="Background" Value="{Binding Path=(style:AppStyle.AccentMain)}" />
        <Setter Property="Foreground" Value="{Binding Path=(style:AppStyle.AccentText)}" />
        <Setter Property="FontSize" Value="20" />
        <Setter Property="FontFamily" Value="Times New Roman" />
        <Setter Property="Margin" Value="0" />
        <Setter Property="DockPanel.Dock" Value="Right" />
        <Setter Property="Template">
            <Setter.Value>
                <ControlTemplate TargetType="{x:Type Button}">
                    <Border Name="border" BorderThickness="0" CornerRadius="0"  Background="{TemplateBinding Background}">
                        <Grid>
                            <ContentPresenter HorizontalAlignment="Center" VerticalAlignment="Center" Name="content"/>
                        </Grid>
                    </Border>
                    <ControlTemplate.Triggers>
                        <Trigger Property="IsMouseOver" Value="True">
                            <Setter Property="Background" Value="{Binding Path=(style:AppStyle.AccentHover)}" />
                        </Trigger>
                        <Trigger Property="IsPressed" Value="True">
                            <Setter Property="Background" Value="{Binding Path=(style:AppStyle.AccentButtonDown)}" />
                            <Setter Property="Foreground" Value="{Binding Path=(style:AppStyle.AccentTextDown)}" />
                        </Trigger>
                        <Trigger Property="IsDefaulted" Value="True">
                            <Setter Property="Background" Value="#3b3b3b" />
                        </Trigger>
                        <Trigger Property="IsFocused" Value="True">
                        </Trigger>
                        <Trigger Property="IsEnabled" Value="False">
                            <Setter Property="Background" Value="#505050" />
                            <Setter Property="Foreground" Value="#A7A7A7" />
                        </Trigger>
                    </ControlTemplate.Triggers>
                </ControlTemplate>
            </Setter.Value>
        </Setter>
    </Style>

是否有任何替代方案可以使一切功能正常化?这些资源是动态的非常重要,因为用户必须能够更改主题。

感谢任何帮助。

P.S。我使用Visual Studio 2013 Professional和Update 5

0 个答案:

没有答案