1
내가 바인딩 ... 바인드 약간의 자신을 발견 ... 도니는 다르게 ... (절름발이) 어쨌든참조 뷰 모델의 DataContext를가
... 나는를 참조해야 기본 ViewModel의 속성이지만 다른 DataTemplate
... 내에있는 DataTemplate
내에서 Silverlight에서 허용하는 모드는 RelativeSource
인 것처럼 보입니다. Self 및 TemplatedParent. 그리고 TemplatedParent는 충분히 올라가지 않습니다.
할 수 있는게 있습니까?
일부 코드 :<phone:PanoramaItem>
<phone:LongListSelector Margin="0,-38,-22,2" ItemsSource="{Binding Items}">
<phone:LongListSelector.ItemTemplate>
<DataTemplate>
<common:ItemContentTemplateSelector DataContext="{Binding}" Content="{Binding ItemContent}" HorizontalContentAlignment="Stretch" Margin="12,2,0,4">
<common:ItemContentTemplateSelector.DefaultTemplate>
<DataTemplate>
.....
</DataTemplate>
</common:ItemContentTemplateSelector.DefaultTemplate>
<common:ItemContentTemplateSelector.PhoneNumberTemplate>
<DataTemplate>
<Grid Background="White" Height="102">
<Border x:Name="border">
<TextBlock Text="Call"/>
<i:Interaction.Triggers>
<i:EventTrigger EventName="MouseLeftButtonDown">
<!-- BINDING ERROR -->
<i:InvokeCommandAction Command="{Binding RelativeSource={RelativeSource Mode=TemplatedParent}, Path=DataContext.PhoneCallCommand}"/>
</i:EventTrigger>
</i:Interaction.Triggers>
</Border>
</Grid>
</DataTemplate>
</common:ItemContentTemplateSelector.PhoneNumberTemplate>
</common:ItemContentTemplateSelector>
</DataTemplate>
</phone:LongListSelector.ItemTemplate>
</phone:LongListSelector>
</phone:PanoramaItem>
멋진 해결 방법! 감사! 이 정적 리소스를 XAML에만 추가 할 수 있습니까? –
나는이 해결 방법을 오랫동안 사용해 왔습니다. 이 리소스를 XAML쪽에 추가 하시겠습니까? 네, 그렇게 할 수 있습니다. xaml에 datacontext를 추가 할 수도 있습니다. 뭔가 '' –
코드에서 내 코멘트를 주목해라'// 우리는 samve VM instace ... '를 사용하고있다. xaml 렌더링 순서의 쉬운 원인이 아니라 인스턴스 생성 순서가 http://stackoverflow.com/q/10171630/413032에서 찾아 볼 수 있습니다. 코드 숨김으로 처리하는 것이 더 좋습니다. –