与数据模板一起使用时设置ListViewItem的标记

时间:2015-10-08 17:35:52

标签: c# wpf listview

我有列表视图

<ListView ItemsSource="{Binding  Apparatus.AcidBaseApparatus}">
                <ListView.ItemTemplate>

                    <DataTemplate>
                        <StackPanel Tag="{Binding AppratusName}">
                            <TextBlock  Text="{Binding AppratusName}" Background="Azure">
                            </TextBlock>
                            <Image HorizontalAlignment="Center" MaxHeight="50" Source="{Binding ImageSource}"/>
                        </StackPanel>
                    </DataTemplate>
                </ListView.ItemTemplate>
                <i:Interaction.Behaviors>
                    <behave:ApparatusDragBehavior></behave:ApparatusDragBehavior>
                </i:Interaction.Behaviors>
            </ListView>

我想将每个ListViewItem的标记绑定到 ApparatusName ,就像我在数据模板中使用 StackPanel 一样。我自己找不到任何摆弄模板的选项。有可能这样做吗?

1 个答案:

答案 0 :(得分:1)

您需要在ItemContainerStyle(定位ListViewItem)中设置绑定:

<ListView ItemsSource="{Binding  Apparatus.AcidBaseApparatus}">
    <!-- ... -->
    <ListView.ItemContainerStyle>
       <Style TargetType="ListViewItem">
          <Setter Property="Tag" Value="{Binding AppratusName}"/>
       </Style>
    </ListView.ItemContainerStyle>
    <!-- ... -->
</ListView>