代码之家  ›  专栏  ›  技术社区  ›  anon

如何将对象附加到c/.net中的事件?

  •  0
  • anon  · 技术社区  · 14 年前

    我为库容器定义了以下数据模板:

    <DataTemplate x:Key="ContainerItemTemplate">
                <Grid>
                    <Border BorderThickness="1" BorderBrush="White" Margin="3">
                        <s:SurfaceTextBox IsReadOnly="True" Width="120" Text="{Binding Path=name}" Padding="3"/>
                    </Border>
                    <s:SurfaceButton Content="Expand" Click="SourceFilePressed"></s:SurfaceButton>
                </Grid>
            </DataTemplate>
    

    按下的源文件如下:

     private void SourceFilePressed(object sender, RoutedEventArgs e)
            {
                Logging.Logger.getInstance().log(sender.ToString());
                e.Handled = true;
            }
    

    在方法sourcefilepressed中,谁可以获取绑定到与所按按钮位于同一网格中的surfacetextbox的对象?我是否可以在数据模板中将此对象附加到Click事件?

    1 回复  |  直到 14 年前
        1
  •  1
  •   Tim Cooper    13 年前

    private void SourceFilePressed(object sender, RoutedEventArgs e)
    {
        var obj = (sender as FrameworkElement).DataContext;
    }
    

    SurfaceButton FrameworkElement DataContext Grid DataTemplate