我的 Excel 加载项项目中有一个 WPF UserControl
。这个控件有一个ListBox
和一个StackPanel
带有两个按钮。ListBox
由项目组成,每个项目对应一个 Excel 工作簿工作表。此外,我们有两个命令来隐藏/显示工作表,然后CheckBox
选中/取消选中 es。这部分很好。
问题是如何将这些现有命令绑定到下面堆栈面板中的按钮。有必要我们可以在 ListBox 中多选几个项目,然后单击按钮并获得结果。
XAML 代码:
<UserControl x:Class="ListsAddin.ListManagementControl"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml">
<UserControl.Resources>
<Style x:Key="CheckBoxStyle" TargetType="{x:Type CheckBox}">
<Trigger Property="IsChecked" Value="True">
<Setter Property="Command" Value="{Binding HideSheetCommand}"/>
</Trigger>
<Trigger Property="IsChecked" Value="False">
<Setter Property="Command" Value="{Binding ShowSheetCommand}"/>
</Trigger>
</Style.Triggers>
</Style>
</UserControl.Resources>
<StackPanel >
<ListBox Name="lb" ItemsSource="{Binding lst}" Margin="0,0,0,7" >
<ListBox.ItemTemplate>
<DataTemplate>
<StackPanel Orientation="Horizontal">
<Label Content="{Binding Path=SheetName}"/>
<CheckBox IsChecked="{Binding Path=IsHidden}"
Style="{StaticResource CheckBoxStyle}"/>
</StackPanel>
</DataTemplate>
</ListBox.ItemTemplate>
</ListBox>
<StackPanel>
<Button Content="HideSheet" Command="{ ?? }"/>
<Button Content="ShowSheet" Command="{ ?? }" />
</StackPanel>
</StackPanel>
</UserControl>