设置ContextMenu的Placement="Right"了没?

解决方案 »

  1.   

    楼上正解。Placement属性就是干这个的
      

  2.   

    之前确实没设置,现在设置了,不过不管是Left还是Right效果都一样,还是没变
      

  3.   

    贴出xaml看看 <ListView x:Name="myListView"  Height="339" Width="527"  >
                        <ListView.ContextMenu>
                            <ContextMenu  Placement="Right" >
                                <MenuItem Header="刷新" Click="MenuItem_Click_6" />
                                <MenuItem Header="一键获取" Click="MenuItem_Click_3" />
                                <MenuItem Header="一键验证" Click="MenuItem_Click_4" />
                                <MenuItem Header="设为代理" Click="MenuItem_Click_1"/>
                                <MenuItem Header="取消代理" Click="MenuItem_Click_2"/> 
                                <MenuItem Header="导入文本" Click="MenuItem_Click_5"/>
                                <MenuItem Header="一键去除超时项" />
                            </ContextMenu>
                        </ListView.ContextMenu>
                        <ListView.View>
      

  4.   

    贴出xaml看看
    不好意思,少贴了一部分 <ListView x:Name="myListView"  Height="339" Width="527"  >
                        <ListView.ContextMenu>
                            <ContextMenu  Placement="Right" >
                                <MenuItem Header="刷新" Click="MenuItem_Click_6" />
                                <MenuItem Header="一键获取" Click="MenuItem_Click_3" />
                                <MenuItem Header="一键验证" Click="MenuItem_Click_4" />
                                <MenuItem Header="设为代理" Click="MenuItem_Click_1"/>
                                <MenuItem Header="取消代理" Click="MenuItem_Click_2"/> 
                                <MenuItem Header="导入文本" Click="MenuItem_Click_5"/>
                                <MenuItem Header="一键去除超时项" />
                            </ContextMenu>
                        </ListView.ContextMenu>
                        <ListView.View>
                        <GridView>
                            <GridViewColumn Header="序号" Width="40" DisplayMemberBinding="{Binding Path=Index}"></GridViewColumn>
                            <GridViewColumn Header="IP地址" Width="120" DisplayMemberBinding="{Binding Path=IP}"></GridViewColumn>
                            <GridViewColumn Header="端口" Width="80" DisplayMemberBinding="{Binding Path=Port}"></GridViewColumn>
                            <GridViewColumn Header="地点"  Width="120" DisplayMemberBinding="{Binding Path=Place}"></GridViewColumn>
                            <GridViewColumn Header=" 是否高匿 " Width="auto" DisplayMemberBinding="{Binding Path=Anonymity}"></GridViewColumn>
                            <GridViewColumn Header="延迟(ms)" DisplayMemberBinding="{Binding Path=Speed}"></GridViewColumn>
                        </GridView>
                    </ListView.View>
                </ListView>
      

  5.   

    是不是跟父容器myListView的尺寸有关,根据点击位置动态决定的,以便最大限度的在myListView中显示菜单,避免超出边界
      

  6.   

    你将myListView弄得宽一点,应该就能看出ContextMenu的Placement的作用了
      

  7.   

    我的myListView宽度肯定够了,我估计是GridViewColumn的宽度问题
      

  8.   

    让GridViewColumn 的宽度 足够宽试试。
      

  9.   

    设置FlowDirection="RightToLeft"可以,但郁闷的是它的内容对齐方式是向右对齐的