我有一个数据网格,在DataGridTemplateColumn中,我有一个ToggleButton,当它被选中时,通过ElementName绑定打开评论的弹出窗口。
<WpfToolkit:DataGridTemplateColumn>
<WpfToolkit:DataGridTemplateColumn.CellTemplate>
<DataTemplate>
<Grid >
<StackPanel Orientation="Vertical">
<ToggleButton Content="C" Name="toggleButon" VerticalAlignment="Center" Background="Transparent"></ToggleButton>
<Popup Height="Auto" Width="300" IsOpen="{Binding ElementName=toggleButon,Path=IsChecked}" StaysOpen="True" AllowsTransparency="True">
<Border BorderThickness="2" Background="LightGray">
<StackPanel Margin="20" Orientation="Vertical">
<TextBlock Text="Bloomberg Run Text Comment" Foreground="Black"></TextBlock>
<TextBox Text="check"/>
</StackPanel>
</Border>
</Popup>
</StackPanel>
</Grid>
</DataTemplate>
</WpfToolkit:DataGridTemplateColumn.CellTemplate>
</WpfToolkit:DataGridTemplateColumn>
它如预期般工作。但是我很好奇元素名称绑定在行级别上是如何工作的,因为我理解ToggleButton的元素名称对于每一行都是相同的。那么这个切换按钮如何仅在其范围内打开弹出窗口,而不是任何其他行中的任何其他弹出窗口。