2014-05-07 42 views
0

我在XAML視圖下爲使用的DataTemplate我phone.LongListSelector內:完整的DataTemplate可點擊嗎?

<DataTemplate x:Name="myLocationsListTemplate"> 
     <StackPanel Margin="0,0,0,15"> 
      <Grid VerticalAlignment="Top" Margin="0,0,5,0"> 
       <Grid.ColumnDefinitions> 
        <ColumnDefinition Width="*" /> 
        <ColumnDefinition Width="120" /> 
       </Grid.ColumnDefinitions> 
       <TextBlock Grid.Column="0" TextTrimming="WordEllipsis" Text="{Binding Name}" TextWrapping="NoWrap" Style="{StaticResource PhoneTextLargeStyle}" VerticalAlignment="Top" Margin="0,0,0,22" /> 
       <Image Grid.Column="0" Width="138" Height="25" Source="/mAppData/stars-3.png" HorizontalAlignment="Left" VerticalAlignment="Bottom" Margin="0"/> 
       <TextBlock Grid.Column="1" Text="{Binding DistanceInMeterFormatted, FallbackValue=fallback, TargetNullValue=nullvalue, Mode=OneWay}" TextWrapping="NoWrap" Style="{StaticResource PhoneTextSubtleStyle}" HorizontalAlignment="Right" Margin="0,0,-3,20" VerticalAlignment="Bottom"/> 
       <TextBlock Grid.Column="1" Text="vor 10 min." TextWrapping="NoWrap" Margin="0" Style="{StaticResource PhoneTextSubtleStyle}" HorizontalAlignment="Right" VerticalAlignment="Bottom"/> 
      </Grid> 
      <Grid VerticalAlignment="Top" Margin="0,10,0,0"> 
       <Grid.ColumnDefinitions> 
        <ColumnDefinition Width="*" /> 
        <ColumnDefinition Width="*" /> 
        <ColumnDefinition Width="*" /> 
        <ColumnDefinition Width="*" /> 
       </Grid.ColumnDefinitions> 
       <Image Grid.Column="0" Width="100" Height="100" Source="{Binding PreviewImg1}"/> 
       <Image Grid.Column="1" Width="100" Height="100" Source="{Binding PreviewImg2}"/> 
       <Image Grid.Column="2" Width="100" Height="100" Source="{Binding PreviewImg3}"/> 
       <Image Grid.Column="3" Width="100" Height="100" Source="{Binding PreviewImg4}"/> 
      </Grid> 
     </StackPanel> 
    </DataTemplate> 

現在我想完整的DataTemplate內容由「點擊」。意思是:如果用戶點擊TextBlock或四個圖像之一或列表中顯示的任何一個,則應該使用數據綁定屬性執行一個操作(應該給出來自綁定數據的Name)。

任何想法如何讓這個工作?

+0

使用selectedIndexchanged事件而不是longlistselector上的任何單擊事件。 – Jaihind

回答

1

爲什麼不把你的整個模板粘貼到一個按鈕?如果需要刪除不喜歡的任何默認外觀,則可以設置該按鈕的樣式。例如。

<Style x:Key="BlankButtonStyle" TargetType="ButtonBase"> 

    <Setter Property="Template"> 
     <Setter.Value> 
      <ControlTemplate TargetType="ButtonBase"> 
       <ContentPresenter /> 
      </ControlTemplate> 
     </Setter.Value> 
    </Setter> 

    <Setter Property="Background" Value="Transparent" /> 
</Style> 
+0

聽起來很不錯。現在我已經用'

+0

樣式資源可以放在資源鏈中的任何位置(每個元素都有一個.Resources集合)。像這樣的風格可以在整個應用程序中很有用,所以親自把它放在app.xaml中。按鈕具有可以綁定到視圖模型上的命令的Command屬性。我會用這個代替點擊事件,否則沒有意義使用按鈕,任何元素都可以引發一個點擊事件 – GazTheDestroyer

+0

將你的代碼片段放在我的頁面中放入''編輯器在'