wpf listview问题。listview中如何实现鼠标移动到某一行,该行中的button属性变为可见

 我来答
秋俊在路上
推荐于2016-02-22 · 超过85用户采纳过TA的回答
知道答主
回答量:117
采纳率:0%
帮助的人:111万
展开全部

第一眼看到这个问题想到的是EventTrigger,可试了下发现没法实现

不过用了别的方法实现了如下

       <ListView ItemsSource="{Binding User}">           
            <ListView.ItemTemplate>
                <DataTemplate>
                    <StackPanel Orientation="Horizontal"  MouseEnter="StackPanel_MouseEnter" MouseLeave="StackPanel_MouseLeave" Background="AntiqueWhite" Width="100">                      
                        <TextBlock Text="{Binding id}"/>
                        <Button Content="{Binding userName}" Visibility="Collapsed"/>
                    </StackPanel>
                </DataTemplate>
            </ListView.ItemTemplate>
        </ListView>

下面是两个后台方法

        private void StackPanel_MouseEnter(object sender, MouseEventArgs e)
        {
            StackPanel sp = sender as StackPanel;
            Button b = sp.Children.OfType<Button>().First();
            b.Visibility = Visibility.Visible;
        }

        private void StackPanel_MouseLeave(object sender, MouseEventArgs e)
        {
            StackPanel sp = sender as StackPanel;
            Button b = sp.Children.OfType<Button>().First();
            b.Visibility = Visibility.Collapsed;
        }
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式