【发布时间】:2011-01-21 20:04:34
【问题描述】:
我有一个使用 DataGrid 的 Silverlight 应用程序。在该 DataGrid 内部,我有一个 DataTemplate,其定义如下:
<Grid x:Name="myGrid" Tag="{Binding}" Loaded="myGrid_Loaded">
<ItemsControl ItemsSource="{Binding MyItems}" Tag="{Binding}">
<ItemsControl.ItemTemplate>
<DataTemplate>
<StackPanel Orientation="Horizontal">
<StackPanel Orientation="Horizontal" Width="138">
<TextBlock Text="{Binding Type}" />
<TextBox x:Name="myTextBox" TextChanged="myTextBox_TextChanged" />
</StackPanel>
</StackPanel>
</DataTemplate>
</ItemsControl.ItemTemplate>
</ItemsControl>
</Grid>
当用户在 TextBox 中输入文本时,我有一个必须在此时触发的事件 (myTextBox_TextChanged)。当该事件被触发时,我想获取作为此 TextBox 容器的 ItemsControl 元素。如何从我的事件处理程序中获取 ItemsControl?
请注意:因为 ItemsControl 在 DataGrid 的 DataTemplate 中,我不相信我可以添加一个 x:Name 并从我的代码隐藏中引用它。或者有什么办法吗?
谢谢!
【问题讨论】:
-
你能告诉我为什么你需要引用 ItemsControl 我觉得这里可能隐藏了一个更好的整体解决方案。
标签: silverlight