簡體   English   中英

WPF中ListBox的上下文菜單項

[英]Context Menu Item for ListBox in WPF

我想在WPF中的ListBoxItems的右鍵單擊上顯示ContextMenu。 我嘗試了下面的代碼,但是ContextMenu顯示的是ListBoxItems也不存在的地方。 我想要的是僅在ListBoxItems的右鍵單擊上顯示ContextMenu。

<Grid>
<ListBox x:Name="listofConnectedItems" Grid.Column="0" Grid.Row="0" ItemsSource="{Binding MyItems}" MouseRightButtonDown="listofConnectedItems_MouseRightButtonDown" ContextMenuOpening="listofConnectedItems_ContextMenuOpening" >
        <ListBox.ItemContainerStyle>
            <Style TargetType="{x:Type ListBoxItem}">
                <Setter Property="Padding" Value="10">

                </Setter>
            </Style>
        </ListBox.ItemContainerStyle>
        <ListBox.ContextMenu>
            <ContextMenu>
                <MenuItem Header="_Start" Click="MenuItemStart_Click"  />
                <MenuItem Header="Sto_p" Click="MenuItemStop_Click" />
                <MenuItem Header="_Clear" Click="MenuItemClear_Click" />
            </ContextMenu>
        </ListBox.ContextMenu>

    </ListBox>
</Grid>

`在這里,我附上了屏幕截圖。 在此處輸入圖片說明 誰能幫我解決這個問題。 提前致謝

它應該是IntemContainerStyle

<ListBox.ItemContainerStyle>
   <Style TargetType="ListBoxItem">
       <Setter Property="ContextMenu">
           <Setter.Value>
               <ContextMenu>
                   <MenuItem Header="Open" />
                   <MenuItem Header="Edit" Command="Binding 
               </ContextMenu>
           </Setter.Value>
       </Setter>
   </Style>
</ListBox.ItemContainerStyle>

我認為問題是您沒有指定列表框的高度和寬度,因此它會自動縮放到窗口大小。 因此,從技術上講,您的代碼可以正常工作,但列表框無處不在。

嘗試像

<ListBox x:Name="listofConnectedItems" Grid.Column="0" Grid.Row="0" BorderThickness="5" Width="200" Height="200"...

然后在列表框外單擊鼠標右鍵

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM