将某些内容绑定到 ListBox 的 SelectedIndex 很容易,但我希望 ListBox 中的每个项目都能够绑定到它在列表中的索引。
可能听起来很奇怪,所以这就是我想要做的:
<DataTemplate x:Key="ScenarioItemTemplate">
<Border
Margin="8,2,8,2"
Background="#FF3C3B3B"
BorderBrush="#FF797878"
BorderThickness="2"
CornerRadius="5">
<DockPanel>
<DockPanel DockPanel.Dock="Top" Margin="0,2,0,0">
<Label HorizontalAlignment="Left"
DockPanel.Dock="Left"
FontWeight="Heavy"
Foreground="White"
Content="{Binding Path=Position}"
MinWidth="50"/>
<Label
Content="{Binding Path=Name}"
DockPanel.Dock="Left"
FontWeight="Heavy"
Foreground="white"/>
<Label
Content="{Binding Path=Header}"
Foreground="white"
DockPanel.Dock="Left"/>
<TextBlock HorizontalAlignment="Right"
Background="#FF3C3B3B"
DockPanel.Dock="Left" Foreground="White" FontWeight="Heavy">
<Hyperlink Click="CloseHyperlink_Click" Tag="">X</Hyperlink>
</TextBlock>
我想将超链接的 TAG 属性绑定到相关项目的索引。这样当用户单击超链接时,我可以使用该超链接的 TAG 属性确定是什么项目导致了事件。
var hyperlink = (Hyperlink)sender;
var index = Convert.ToInt32(hyperlink.Tag);
建议?