1

次の XAML があります。

<Grid x:Name="ContentPanelDaily"
  Grid.Row="1"
  <Grid.RowDefinitions>
    <RowDefinition Height="40" />
  </Grid.RowDefinitions>
  <Grid.ColumnDefinitions>
     <ColumnDefinition Width="60" />
     <ColumnDefinition Width="80" />
  </Grid.ColumnDefinitions>

  <TextBlock Grid.Row="0"
     Grid.Column="0"
     Style="{StaticResource PhoneTextAccentStyle}"
     Margin="0,0,0,0">
            First
   </TextBlock>
   <TextBlock Grid.Row="0"
     Grid.Column="1"
     Style="{StaticResource PhoneTextAccentStyle}"
     Margin="0,0,0,0">
          Second
   </TextBlock>
</Grid>

Tapイベントでクリックされた行を検出するにはどうすればよいですか? 私はこのようなものを見つけようとしましSelectedRowたが、グリッドにはこのようなものはないようです。どうもありがとうございました。

4

1 に答える 1

1

データをボタンに入れ、イベントにサブスクライブしますOnClick

<Button OnClick="evetnHandler">
<TextBlock Grid.Row="0"
     Grid.Column="0"
     Style="{StaticResource PhoneTextAccentStyle}"
     Margin="0,0,0,0">
            First
   </TextBlock>
</Button>

また、@Rachel が言ったように、ListBox を使用できます。

<ListBox ItemsSource="{Binding Items}" 
  SelectedItem="{Binding Selected, Type=TwoWay}">
<ListBox.ItemTemplate>
<DataTemlate>
    <TextBlock
         Style="{StaticResource PhoneTextAccentStyle}"
         Margin="0,0,0,0" Text="{Binding Name}"/>
</DataTemplate>
</ListBox.ItemTemplate>
</ListBox>

そしてコードビハインドの作成で

public ObservableCollection<DataItem> Items {get;set;}

private DataItem _selected;
public DataItem Selected
{
  get {return _selected;}
  set 
{
  _selected = value;
  //ha! item selected!!! handle it
}

}

public class DataItem 
{
   public string Name {get;set;}
}
于 2012-09-12T17:26:43.550 に答える