名称" XamlDisplay"在命名空间中不存在

时间:2018-05-07 07:35:16

标签: c# wpf xaml material-design-in-xaml

我正在尝试在xaml Toolkit中实现Material Design并收到此错误

The name "XamlDisplay" does not exist in the namespace "clr-namespace:ShowMeTheXAML;assembly=ShowMeTheXAML"

我刚从官方文档中复制并粘贴了此代码 Xaml code
我试过这里提供的解决方案Other Question on StackOverflow,比如将Debug更改为Release模式,清理shadowCache和DLL文件权限 但这些都只是技巧而且不是可靠的答案而且它们对我不起作用。 发生了什么错误?
我的Xaml代码

<Window x:Class="MaterialTestApp.MainWindow"
    xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
    xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
    xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
    xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
    xmlns:local="clr-namespace:MaterialTestApp"
    mc:Ignorable="d"
    xmlns:smtx="clr-namespace:ShowMeTheXAML;assembly=ShowMeTheXAML"
    xmlns:materialDesign="http://materialdesigninxaml.net/winfx/xaml/themes"
    TextElement.Foreground="{DynamicResource MaterialDesignBody}"
    TextElement.FontWeight="Regular"
    TextElement.FontSize="13"
    TextOptions.TextFormattingMode="Ideal" 
    TextOptions.TextRenderingMode="Auto"        
    Background="{DynamicResource MaterialDesignPaper}"
    FontFamily="{DynamicResource MaterialDesignFont}">
<Grid>
    <StackPanel Margin="8 8 0 0">
        <TextBlock>Raised controls have default shadows set, but the shadows can be overriden.</TextBlock>
        <StackPanel Orientation="Horizontal" Margin="0 32 0 0">
            <smtx:XamlDisplay Key="shadow_1">
                <Button Style="{DynamicResource MaterialDesignRaisedButton}"
                    >DEPTH 1</Button>
            </smtx:XamlDisplay>
            <smtx:XamlDisplay Key="shadow_2" Margin="16 0 0 0">
                <Button Style="{DynamicResource MaterialDesignRaisedButton}"
                    materialDesign:ShadowAssist.ShadowDepth="Depth2"
                    >DEPTH 2</Button>
            </smtx:XamlDisplay>
            <smtx:XamlDisplay Key="shadow_3" Margin="16 0 0 0">
                <Button Style="{DynamicResource MaterialDesignRaisedButton}"
                    materialDesign:ShadowAssist.ShadowDepth="Depth3"
                    >DEPTH 3</Button>
            </smtx:XamlDisplay>
            <smtx:XamlDisplay Key="shadow_4" Margin="16 0 0 0">
                <Button Style="{DynamicResource MaterialDesignRaisedButton}"
                    materialDesign:ShadowAssist.ShadowDepth="Depth4"
                    >DEPTH 4</Button>
            </smtx:XamlDisplay>
            <smtx:XamlDisplay Key="shadow_5" Margin="16 0 0 0">
                <Button Style="{DynamicResource MaterialDesignRaisedButton}"
                    materialDesign:ShadowAssist.ShadowDepth="Depth5"
                    >DEPTH 5</Button>
            </smtx:XamlDisplay>
        </StackPanel>
        <StackPanel Orientation="Horizontal" Margin="0 32 0 0">
            <smtx:XamlDisplay Key="shadow_6">
                <Button Style="{DynamicResource MaterialDesignFloatingActionMiniButton}"
                    materialDesign:ShadowAssist.ShadowDepth="Depth1"
                    >1</Button>
            </smtx:XamlDisplay>
            <smtx:XamlDisplay Key="shadow_7" Margin="16 0 0 0">
                <Button Style="{DynamicResource MaterialDesignFloatingActionMiniButton}"
                    materialDesign:ShadowAssist.ShadowDepth="Depth2"
                    >2</Button>
            </smtx:XamlDisplay>
            <smtx:XamlDisplay Key="shadow_8" Margin="16 0 0 0">
                <Button Style="{DynamicResource MaterialDesignFloatingActionMiniButton}"
                    materialDesign:ShadowAssist.ShadowDepth="Depth3"
                    >3</Button>
            </smtx:XamlDisplay>
            <smtx:XamlDisplay Key="shadow_9" Margin="16 0 0 0">
                <Button Style="{DynamicResource MaterialDesignFloatingActionMiniButton}"
                    materialDesign:ShadowAssist.ShadowDepth="Depth4"
                    >4</Button>
            </smtx:XamlDisplay>
            <smtx:XamlDisplay Key="shadow_10" Margin="16 0 0 0">
                <Button Style="{DynamicResource MaterialDesignFloatingActionMiniButton}"
                    materialDesign:ShadowAssist.ShadowDepth="Depth5"
                    >5</Button>
            </smtx:XamlDisplay>
        </StackPanel>
        <StackPanel Orientation="Horizontal" Margin="0 32 0 0">
            <smtx:XamlDisplay Key="shadow_11">
                <materialDesign:Card materialDesign:ShadowAssist.ShadowDepth="Depth1" Padding="32">DEPTH 1</materialDesign:Card>
            </smtx:XamlDisplay>
            <smtx:XamlDisplay Key="shadow_12" Margin="16 0 0 0">
                <materialDesign:Card materialDesign:ShadowAssist.ShadowDepth="Depth2" Padding="32">DEPTH 2</materialDesign:Card>
            </smtx:XamlDisplay>
            <smtx:XamlDisplay Key="shadow_13" Margin="16 0 0 0">
                <materialDesign:Card materialDesign:ShadowAssist.ShadowDepth="Depth3" Padding="32">DEPTH 3</materialDesign:Card>
            </smtx:XamlDisplay>
            <smtx:XamlDisplay Key="shadow_14" Margin="16 0 0 0">
                <materialDesign:Card materialDesign:ShadowAssist.ShadowDepth="Depth4" Padding="32">DEPTH 4</materialDesign:Card>
            </smtx:XamlDisplay>
            <smtx:XamlDisplay Key="shadow_15" Margin="16 0 0 0">
                <materialDesign:Card materialDesign:ShadowAssist.ShadowDepth="Depth5" Padding="32">DEPTH 5</materialDesign:Card>
            </smtx:XamlDisplay>
        </StackPanel>
        <StackPanel Orientation="Horizontal" Margin="0 32 0 0">
            <smtx:XamlDisplay Key="shadow_16">
                <materialDesign:Card materialDesign:ShadowAssist.ShadowDepth="Depth3" materialDesign:ShadowAssist.ShadowEdges="Bottom,Right" Padding="32">CUSTOM CLIP</materialDesign:Card>
            </smtx:XamlDisplay>
            <smtx:XamlDisplay Key="shadow_17" Margin="16 0 0 0">
                <materialDesign:Card materialDesign:ShadowAssist.ShadowDepth="Depth3" materialDesign:ShadowAssist.ShadowEdges="Top" Padding="32">CUSTOM CLIP</materialDesign:Card>
            </smtx:XamlDisplay>
            <smtx:XamlDisplay Key="shadow_18" Margin="16 0 0 0">
                <materialDesign:Card materialDesign:ShadowAssist.ShadowDepth="Depth3" materialDesign:ShadowAssist.ShadowEdges="Bottom,Left" Padding="32">CUSTOM CLIP</materialDesign:Card>
            </smtx:XamlDisplay>
        </StackPanel>
    </StackPanel>
</Grid>

App.Xaml

<Application x:Class="Test_App.App"
         xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
         xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
         xmlns:local="clr-namespace:Test_App"
         StartupUri="MainWindow.xaml">
<Application.Resources>
    <ResourceDictionary>
        <ResourceDictionary.MergedDictionaries>

            <ResourceDictionary Source="pack://application:,,,/MaterialDesignThemes.Wpf;component/Themes/MaterialDesignTheme.Light.xaml" />
            <ResourceDictionary Source="pack://application:,,,/MaterialDesignThemes.Wpf;component/Themes/MaterialDesignTheme.Defaults.xaml" />
            <ResourceDictionary Source="pack://application:,,,/MaterialDesignColors;component/Themes/Recommended/Primary/MaterialDesignColor.DeepPurple.xaml" />
            <ResourceDictionary Source="pack://application:,,,/MaterialDesignColors;component/Themes/Recommended/Accent/MaterialDesignColor.Lime.xaml" />

        </ResourceDictionary.MergedDictionaries>
    </ResourceDictionary>
</Application.Resources>

2 个答案:

答案 0 :(得分:4)

我是ShowMeTheXaml的作者。该项目的目的是为MaterialDesignInXAML(MDIX)中的演示应用程序提供显示MDIX控件和样式的相应XAML的功能。除非您想在应用程序中使用相同的功能(非常不可能),否则可以从项目中删除ShowMeTheXaml。至于你的xaml,你只需删除<smtx:XamlDisplay>标签并保留内容即可。

答案 1 :(得分:1)

好吧所以问题是我错过了ShowMeTheXaml的参考,并且必须使用Nugget Package Manager安装手动,就是这样:)

ShowMeTheXaml