wpf 控件内 动态添加 控件

wpf 控件内 动态添加 控件,第1张

        //新建Window,把其默认的Grid元素删除,然后

        //在Window_Loaded事件里粘贴如下代码

        private void Window_Loaded(object sender, RoutedEventArgs e)

        {

            Grid g = new Grid()

            g.HorizontalAlignment = HorizontalAlignment.Stretch

            g.VerticalAlignment = VerticalAlignment.Stretch

            g.Background = Brushes.Blue

            ScrollViewer s = new ScrollViewer()

            s.Width = 100

            s.Height = 100

            Label l = new Label()

            l.Content = @"wpf 控件内 动态添加 控件

            Oo巴黎迷雾_ | 分类:C#/.NET | 浏览17次

            请示范一个简单的完整例子,不是在form里, 而是在wpf  grid里的scrollviewer控件添加label控件。"

            s.Content = l

            this.AddChild(s)

        }

你在网格中放图片用的是什么控件?Image吗,那为何不直接用Image控件的点击事件,你可以去掉Image的水平和垂直对齐属性让Image充满整个单元格,然后添加Image控件的MouseDown/Up事件(Image好像没有Click事件),这样点击哪个Image,你就更换这个Image的Source不就行了

如果要定位具体是哪个单元格,那可以

void ImageMouseDown(object sender, MouseButtonEventArgs e)

{

if (sender is Image)

{

Image image = sender as Image

// 以下是Image控件所处Grid的行和列

int RowIndex = Grid.GetRow(image)

int ColumnIndex = Grid.GetColumn(image)

// 也可以在这里更换图片

image.Source = ....

}

}

Grid container = new Grid()

Button btn = new Button()

container.Children.Add(btn)

btn.VerticalAlignment = VerticalAlignment.Bottom

btn.HorzontalAlignment = HorzontalAlignment.Right

是这个意思不?


欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/bake/11810394.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-18
下一篇 2023-05-18

发表评论

登录后才能评论

评论列表(0条)

保存