添加ListView右键单击复制菜单

时间:2015-09-26 19:27:03

标签: wpf xaml listview

所以我有这个词典:

 Dictionary<string, double> _statistics;

以下是这样的:

enter image description here

当我右键单击鼠标时,我希望能够复制单元格值。 如何添加这个仅标记特定单元格而不是所有行的简单复制选项? ListView中是否存在某些内容?

填充我的ListView

foreach (KeyValuePair<string, double> item in _statistics)
    listView.Items.Add(new MyItem { IP = item.Key, Percent = item.Value });

<ListView.View>
    <GridView ColumnHeaderContainerStyle="{StaticResource ListViewHeaderStyle}">
        <!-- ip address column -->
        <GridViewColumn Width="200" Header="IP Address" DisplayMemberBinding="{Binding IP}" />

        <!-- percent column sent -->
        <GridViewColumn Width="200" Header="Percent" DisplayMemberBinding="{Binding Percent, StringFormat={}{0}%}"/>
    </GridView>
</ListView.View>

public class MyItem
{
    public string IP { get; set; }
    public double Percent { get; set; }
}

2 个答案:

答案 0 :(得分:0)

我认为您可以在列表视图级别捕获鼠标单击事件,并检查源元素是TextBlock。如果是这样,请将剪贴板文本设置为文本块的值。

答案 1 :(得分:0)

GridViewColumn.CellTemplate是关键。使用CellTemplate的{​​{1}}为您的单元格定义自定义数据模板,并在其中创建GridViewColumn