2017-10-09 6 views
0

私はlistviewitemsにコンテキストメニューを追加しようとしていますが、私はそれを理解できません。 私はwhile lsitviewコントロールのためにそれを行う方法を見つけ出すことができましたが、実際のlistviewitemsのためにそれを行う方法を理解することはできません。WPFでlistviewitemsにコンテキストメニューを追加するにはどうすればよいですか?

私はそれにコンテキストメニューを追加しましたが、私はlistviewitemsのためにそれをしたい、私が欲しいものではないthatsの私のlistviewcontrolするために、この

<ContextMenu> 
<MenuItem Header="Remove"/> 
</ContextMenu> 

をしました。

<ListView Margin="10,36,520,10" ScrollViewer.HorizontalScrollBarVisibility="Hidden" BorderBrush="Black" Padding="-1, -1, 1, 0" Background="Transparent" BorderThickness="1.000001" Name="lvUsers" Style="{DynamicResource ListViewStyle1}"> 
      <ListView.ItemContainerStyle> 
       <Style TargetType="{x:Type ListViewItem}"> 
        <Setter Property="Background" Value="Transparent" /> 
        <Setter Property="Template"> 
         <Setter.Value> 
          <ControlTemplate TargetType="{x:Type ListViewItem}"> 
           <Border 
         BorderBrush="Transparent" 
         BorderThickness="0" 
         Background="{TemplateBinding Background}"> 

            <GridViewRowPresenter HorizontalAlignment="Stretch" VerticalAlignment="{TemplateBinding VerticalContentAlignment}" Width="Auto" Margin="0" Content="{TemplateBinding Content}"/> 
           </Border> 
          </ControlTemplate> 
         </Setter.Value> 

        </Setter> 

        <Style.Triggers> 
         <Trigger Property="IsMouseOver" Value="True"> 
          <Setter Property="Foreground" Value="White" /> 
          <Setter Property="Background" Value="#696969" /> 
          <Setter Property="BorderBrush" Value="#696969" /> 
          <Setter Property="BorderThickness" Value="0" /> 
         </Trigger> 

         <Trigger Property="IsSelected" Value="True"> 
          <Setter Property="Foreground" Value="White" /> 
          <Setter Property="Background" Value="#696969" /> 
          <Setter Property="BorderBrush" Value="#696969" /> 
          <Setter Property="BorderThickness" Value="0" /> 
         </Trigger> 
        </Style.Triggers> 
       </Style> 
      </ListView.ItemContainerStyle> 
      <ListView.View> 
       <GridView ColumnHeaderContainerStyle="{StaticResource GridViewColumnHeaderStyle1}"> 
        <GridViewColumn x:Name="GridViewColumnName" Header="Name" Width="165"> 
         <GridViewColumn.CellTemplate> 
          <DataTemplate> 
           <StackPanel Orientation="Horizontal"> 
            <Image x:Name="Image_GridViewColumnName" Width="16" Height="16" Source="C:\Users\developer\source\repos\PortforwardWPF\PortforwardWPF\Images\minecraft.png" /> 
            <Label Content="{Binding Username}" Visibility="Visible" /> 
           </StackPanel> 
          </DataTemplate> 
         </GridViewColumn.CellTemplate> 
        </GridViewColumn> 
       </GridView> 

      </ListView.View> 
     </ListView> 

答えて

2

オプション#1:

<Style TargetType="{x:Type ListViewItem}"> 
     <Setter Property="ContextMenu"> 
      <Setter.Value> 
       <ContextMenu /> 
      </Setter.Value> 
     </Setter> 
     <Setter Property="Background" Value="Transparent" /> 

オプション#2

  <Setter.Value> 
       <ControlTemplate TargetType="{x:Type ListViewItem}"> 
        <Border 
         BorderBrush="Transparent" 
         BorderThickness="0" 
         Background="{TemplateBinding Background}"> 
         <Border.ContextMenu> 
          <ContextMenu /> 
         </Border.ContextMenu> 
+0

おお!素晴らしい!そんなにありがとう! –

関連する問題