-1

ObservableCollection から取り込まれた itemsControl があります。

<ItemsControl ItemsSource="{Binding AvailableSessions}" Margin="490,181,10.111,39.111">
    <ItemsControl.ItemTemplate>
        <DataTemplate>
            <Border  BorderBrush="Black" Background="Gainsboro" BorderThickness="1" Margin="2">
                <!-- This is the Inner Grid for each element, which is represented in 
                 Brown color in your picture -->
                <Grid HorizontalAlignment="Left" Height="134"  VerticalAlignment="Top" 
                  Width="263" Background="#FFECECEC">
                    <Button HorizontalAlignment="Left" Margin="10,10,0,0" 
                      VerticalAlignment="Top" Width="243" Height="42" Command="{Binding 
                      OpenSessionCommand, Mode=OneWay}">
                    <TextBlock TextWrapping="Wrap"><Run Text="{Binding SessionName}"/>                                                 
                       <LineBreak/><Run Text="{Binding Genre}"/><Run Text=" - "/>
                       <Run Text="{Binding Tempo}"/><Run Text=" BPM"/><LineBreak/>
                    </TextBlock>
                    </Button>
                    <Label Content="{Binding SessionName}" HorizontalAlignment="Left" 
                      Margin="10,53,0,0" VerticalAlignment="Top" Width="243" 
                      Height="26"/>
                    <Label Content="Drummmman - Electronic Drums"                         
                     HorizontalAlignment="Left" Margin="10,71,0,0" 
                      VerticalAlignment="Top" Width="243" Height="25"/>
                </Grid>
            </Border>
        </DataTemplate>
    </ItemsControl.ItemTemplate>

OpenSessionCommand ボタンをクリックしても何も起こりません。これは、ItemsControl の外にバインドするとうまく機能します。このコマンドを observablecollection 内のプロパティとして追加する必要がありますか? または、ItemsSource 内のバインディングを親グリッドのバインディングに指定する方法はありますか?

4

1 に答える 1