UserControl
Excel アドイン プロジェクトにWPF があります。このコントロールにはListBox
と がありStackPanel
、2 つのボタンがあります。ListBox
アイテムで構成され、それぞれが Excel ワークブック シートに対応します。また、シートを非表示/表示する 2 つのコマンドCheckBox
があり、チェック/チェック解除されます。この部分は問題ありません。
問題は、これらの既存のコマンドを下のスタックパネルのボタンにバインドする方法です。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>