Изучение 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>
Ошибки следующие:
Я попытался с помощью панели инструментов сбросить элементы управления в конструкторе, а код XAML обновился с помощью:
<UserControls:Sidebar/>
Пробовал разные методы, чтобы заставить его работать, но мой недостаток знаний в WPF помогает мне! Есть идеи, что я делаю не так?