2014-04-30 1 views
0

ICommand는 DataContext를 여전히 전체 페이지를 참조하거나 그 것이다 않습니다 ... 2 DataTemplates은 명령 난 내 버튼을 터치하면

내가 DataTemplate이 내 DataTemplate이가 ... 발사되지 찾을 수 없습니다 DataContext는 이전 DataTemplate을 참조하므로 내 뷰 모델 ICommand을 찾을 수없는 이유는 무엇입니까?

<phone:LongListSelector.ItemTemplate> 
    <DataTemplate> 
     <StackPanel VerticalAlignment="Top"> 
      <Border BorderThickness="0 0 0 2" BorderBrush="{StaticResource xLightGray}" Margin="0,0,0,10" Padding="0,0,0,10"> 
       <Grid> 
        <Grid.ColumnDefinitions> 
         <ColumnDefinition Width="40"/> 
         <ColumnDefinition/> 
        </Grid.ColumnDefinitions> 

        <StackPanel Grid.Column="0" Background="Transparent"> 
         <Border Background="White" BorderThickness="0" Width="40" Height="40" HorizontalAlignment="Left"> 
          <Image Source="{Binding image.thumbnail_link}" Width="40" Height="40"></Image> 
         </Border> 
        </StackPanel> 

        <StackPanel Grid.Column="1" VerticalAlignment="Center" Background="Transparent"> 
         <TextBlock Text="{Binding name}" HorizontalAlignment="Left" FontSize="30" VerticalAlignment="Center" Padding="10,0,0,0" /> 
        </StackPanel> 
       </Grid> 
      </Border> 

      <phone:LongListSelector x:Name="OrganisationItemList" 
       Background="Transparent" 
       ItemsSource="{Binding spaces}" 
       LayoutMode="List" 
       VerticalContentAlignment="Stretch"> 

       <phone:LongListSelector.ItemTemplate> 
        <DataTemplate> 
         <Button Background="Red" Style="{StaticResource xTransparentButton}" Command="{Binding Path=DataContext.LoadSpaceCommand, ElementName=SpaceList}" CommandParameter="{Binding}" Padding="0,0,0,5" Margin="0" Height="auto" BorderThickness="0" HorizontalAlignment="Left" VerticalAlignment="Stretch" HorizontalContentAlignment="Left" UseLayoutRounding="True" FontSize="0.01"> 
          <StackPanel Grid.Column="1" VerticalAlignment="Center" Background="Transparent"> 
           <TextBlock Padding="0,0,0,0" Text="{Binding name}" HorizontalAlignment="Left" FontSize="{StaticResource xFontSize}" /> 
          </StackPanel> 
         </Button> 
        </DataTemplate> 
       </phone:LongListSelector.ItemTemplate> 
      </phone:LongListSelector> 
     </StackPanel> 
    </DataTemplate> 
</phone:LongListSelector.ItemTemplate> 

답변

0

대답은, 당신은 부모리스트 박스에 바인딩에 ElementName을 설정해야 찾았

Command="{Binding Path=DataContext.LoadSpaceCommand, ElementName=OrganisationList}" 
관련 문제