2

私が得た:

   <ListView.View GridViewColumnHeader.Click="ColumnHeaderClick">
      <GridView>
          <GridViewColumn x:Name="Col" Header="Item">   



   private void ColumnHeaderClick(object sender, RoutedEventArgs e)
     {
        GridViewColumnHeader headerClicked = e.OriginalSource as GridViewColumnHeader;

     }

では、メソッドでGridViewColumnのx:Name値を取得するにはどうすればよいですか?xamlの列に「Name」プロパティを設定できません。実行時に空の文字列のようになります。ヘッダーを取得することはできますが、x:Name値を取得する必要があります。

4

2 に答える 2

3

またはx:Nameではない要素で構文を使用すると、要素が。に登録されます。残念ながら、要素の名前を取得することはできません。ルックアップはその逆でしか機能しません。FrameworkElementFrameworkContentElementNameScope

DataGridColumnに関する追加情報を渡す必要がある場合は、カスタムアタッチされたプロパティが簡単な方法です。

x:Nameの詳細については、MSDNを参照してください。また、NameScopeのドキュメントにはその動作が記載されています

于 2010-03-26T21:26:47.150 に答える
0

リフレクションを活用して、次の方法で値を取得できます。

GridViewColumnHeader headerClicked = e.OriginalSource as GridViewColumnHeader;
String xName = (String)headerClicked.getType().GetProperty("Name").GetValue(headerClicked, null);
于 2014-02-27T01:17:50.607 に答える