1

申し訳ありませんが、私はC#が初めてで、どこでも探していますが、簡単に見えても見つかりません。オブジェクトをクリックして取得したいのですが、その方法がわかりません。

xaml のシンプルなボタン:

<TextBlock 
         Text="{Binding ProjectName}"
         VerticalAlignment="Center" Tapped="On_Tapped_Project"/>

そして、私は単純な関数を使用します:

    private void On_Tapped_Project(object sender, TappedRoutedEventArgs e)
    {
        this.Frame.Navigate(typeof(NoteFolders), MyProjects[3]);
    }

しかし、私はのような特定のプロジェクトが欲しいMyProjects[x] x=(click Project)です。

何か案は ?

4

4 に答える 4

3

これを試して

var element = (sender as FrameworkElement);
  if (element != null)
  {
    var project = element.DataContext as Project;
    if (project != null)
    {
      //Implementation
    }
  }
于 2013-01-30T10:49:06.827 に答える
0

イベント OriginalSource をタイプ (Project など) にキャストする必要があります。

this.Frame.Navigate(typeof(NoteFolders), (Project) e.OriginalSource);
于 2013-01-30T10:48:39.503 に答える
0

コントロールのタグ プロパティにプロジェクト ID を格納できます

<TextBlock 
    Text="{Binding ProjectName}" Tag="{Binding ProjectID}"
    VerticalAlignment="Center" Tapped="On_Tapped_Project"/>

タグのプロパティにアクセスすることで回復できます

private void On_Tapped_Project(object sender, TappedRoutedEventArgs e)
{
    var projectID = ((TextBlock)sender).Tag as int;
    Frame.Navigate(typeof(NoteFolders), MyProjects[projectID]);
}
于 2013-01-30T10:48:48.360 に答える