我是WPF的新手。我想用侧边栏构建一个单窗口应用程序。目前我正在尝试将侧边栏绑定到具有Name,Icon和ICommand的对象列表。
class Activity
{
public string Name { get; set; }
public string Icon { get; set; }
public ICommand Command { get; set; }
}
命令可以执行各种操作,例如关闭应用程序。其中一些应该替换窗口中的用户控件。我怎样才能实现这个目标呢?
这是我的MainWIndow XAML:
<!-- Content -->
<Grid>
<Grid.ColumnDefinitions>
<ColumnDefinition Width="100" />
<ColumnDefinition Width="3" />
<ColumnDefinition Width="*" />
</Grid.ColumnDefinitions>
<!-- Sidebar -->
<ItemsControl ScrollViewer.VerticalScrollBarVisibility="Auto" DockPanel.Dock="Left" Name="sidebarItems">
<ItemsControl.ItemTemplate>
<DataTemplate>
<Button Margin="10" Command="{Binding Path=Command}">
<StackPanel Orientation="Horizontal">
<Image Source="{Binding Icon}" Height="25" Width="25" />
<TextBlock Text="{Binding Name}"/>
</StackPanel>
</Button>
</DataTemplate>
</ItemsControl.ItemTemplate>
</ItemsControl>
<!-- Splitter -->
<GridSplitter Grid.Column="1" Width="3" HorizontalAlignment="Stretch" />
<!-- Content -->
<Grid Grid.Column="2" Name="ContentUserControl" Background="Gray">
</Grid>
</Grid>