Ошибки пространства имен XML в приложении VS2017 C # MVVM - PullRequest
0 голосов
/ 15 ноября 2018

Изучение WPF / MVVM с использованием Sams 24-часового WPF, но с некоторыми проблемами при работе с моим кодом.

Вот что я получил до сих пор:
Примечание: MainWindow1 - имя изменено на "Shell"

Код:

<Window x:Class="ContactManager.Shell"
        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:ContactManager"
        xmlns:UserControls="clr-namespace:ContactManager.UserControls" 
        mc:Ignorable="d"
        WindowState="Maximized"
        WindowStyle="None">

    <DockPanel>
        <UserControls:SearchBar DockPanel.Dock="Top" />
        <StatusBar DockPanel.Dock="Bottom">
            <StatusBarItem DockPanel.Dock="Right">
                <Slider x:Name="zoomSlider" Width="125" Value="1" Minimum=".5" Maximum="2" />
            </StatusBarItem>
            <StatusBarItem DockPanel.Dock="Right">
                <TextBlock>Zoom:</TextBlock>
            </StatusBarItem>
            <StatusBarItem>
                <TextBlock Text="{Binding StatusText}" />
            </StatusBarItem>
        </StatusBar>
        <Expander DockPanel.Dock="Left" ExpandDirection="Right" IsExpanded="True" 
                  BorderThickness="0 1 1 1" BorderBrush="Gray" Margin="0 2 0 0"
                  Padding="2">
            <Expander.Header>
                <TextBlock Text="Contacts" FontSize="14" FontWeight="Bold">
                    <TextBlock.LayoutTransform>
                        <RotateTransform Angle="90" />
                    </TextBlock.LayoutTransform>
                </TextBlock>
            </Expander.Header>
            <UserControls:SideBar />
        </Expander>
        <TabControl x:Name="tabs" Grid.Column="2" Margin="5 0">
            <TabControl.LayoutTransform>
                <ScaleTransform ScaleX="{Binding ElementName=zoomSlider, Path=Value}"
                ScaleY="{Binding ElementName=zoomSlider, Path=Value}" />
            </TabControl.LayoutTransform>
        </TabControl>
    </DockPanel>
</Window>

Я добавил в свой проект папку с именем «UserControls»
Я создал два пользовательских элемента управления с именами Searchbar и SideBar.

Код:

Searchbar:

<UserControl x:Class="ContactManager.UserControls.Searchbar"
             xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
             xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
             xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006" 
             xmlns:d="http://schemas.microsoft.com/expression/blend/2008" 
             xmlns:local="clr-namespace:ContactManager.UserControls"
             mc:Ignorable="d">
    <Grid>
      ...                
    </Grid>
</UserControl>

Боковая панель:

<UserControl x:Class="ContactManager.UserControls.Sidebar"
             xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
             xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
             xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006" 
             xmlns:d="http://schemas.microsoft.com/expression/blend/2008" 
             xmlns:local="clr-namespace:ContactManager.UserControls"
             mc:Ignorable="d">
    <Grid>

    </Grid>
</UserControl>

Ошибки следующие:

IDE_Errors

Я попытался с помощью панели инструментов сбросить элементы управления в конструкторе, а код XAML обновился с помощью:

<UserControls:Sidebar/>

Пробовал разные методы, чтобы заставить его работать, но мой недостаток знаний в WPF помогает мне! Есть идеи, что я делаю не так?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...