Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/wpf/13.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 获取TreeView HierarchicalDataTemplate中动态生成的按钮的当前行号_C#_Wpf_Treeview - Fatal编程技术网

C# 获取TreeView HierarchicalDataTemplate中动态生成的按钮的当前行号

C# 获取TreeView HierarchicalDataTemplate中动态生成的按钮的当前行号,c#,wpf,treeview,C#,Wpf,Treeview,下面是我的代码 我尝试了下面的方法,但对于每个按钮,我都会得到相同的行号:0,我认为这是因为第一个按钮默认放置在第0行 Button btn = sender as Button; if (btn != null) { row = Grid.GetRow(btn); // And you have the row number... } <TreeViewItem Header="Group by:"> <TreeView Name="TestTr

下面是我的代码

我尝试了下面的方法,但对于每个按钮,我都会得到相同的行号:
0
,我认为这是因为第一个按钮默认放置在第0行

 Button btn = sender as Button;
 if (btn != null) {
     row = Grid.GetRow(btn); // And you have the row number... 
 }

 <TreeViewItem Header="Group by:">
    <TreeView Name="TestTreeView" HorizontalAlignment="Stretch" BorderBrush="Transparent" 
    BorderThickness="0"
    ScrollViewer.VerticalScrollBarVisibility="Auto" >
       <TreeView.Resources>
          <HierarchicalDataTemplate DataType="{x:Type mdl:TaggedCheckBox}"         
          x:Name="Dispterrs1" ItemsSource="{Binding OrderOfGroup}">              
          <StackPanel Orientation="Horizontal" x:Uid="TreeStackPanel" x:Name="TreeStackPanel" >
          <Grid Name="grd_stack">
             <Grid.RowDefinitions>
                <RowDefinition Height="Auto"/>
                <RowDefinition Height="Auto"/>
             </Grid.RowDefinitions>
             <Grid.ColumnDefinitions>
                <ColumnDefinition Width="20*" />
                <ColumnDefinition Width="20*" />
                <ColumnDefinition Width="30*" />
                <ColumnDefinition Width="Auto"/>
             </Grid.ColumnDefinitions> 
             <Button Style="{StaticResource ButtonStyle}"   Grid.Column="0" Height="8" Width="15" Margin="10,0,0,0" x:Name="btnUp" Tag="{Binding TagName}"  Click="btnUP_Click">
                <Image Source="..\images\up_arrow.png" />
             </Button>
             <Button Style="{StaticResource ButtonStyle}"   Grid.Column="1" Height="8" Width="15" Margin="10,0,0,0" x:Name="btnDown" Tag="{Binding TagName}"  Click="btnDown_Click">
                <Image Source="..\images\down_arrow.png" />
             </Button>
             <CheckBox Margin="3,3,0,0" x:Name="cb_TechTerrs"  Grid.Column="2" 
              Tag="{Binding TagName}" 
              IsChecked="{Binding IsChecked}"></CheckBox>
              <TextBlock Margin="5,3,0,0" x:Name="tbTechTerrs" Grid.Column="4"  Text="{Binding TagName}"></TextBlock>
           </Grid>
         </StackPanel>
      </HierarchicalDataTemplate>
   </TreeView.Resources>
   <TreeView.ItemContainerStyle>
   <Style TargetType="TreeViewItem">
      <Setter Property="IsExpanded" Value="{Binding IsExpanded, Mode=TwoWay}"/>
   </Style>
  </TreeView.ItemContainerStyle>
</TreeView>
</TreeViewItem>
Button btn=发送方作为按钮;
如果(btn!=null){
row=Grid.GetRow(btn);//并且您有行号。。。
}