wpf问题,怎么继承ListBoxItem类,然后访问其受保护的AddChild方法,能用对象访问更好,具体看下面: 10
如下代码:privatevoidbutton1_Click(objectsender,RoutedEventArgse){ListBoxItemitem=newListB...
如下代码:
private void button1_Click(object sender, RoutedEventArgs e)
{
ListBoxItem item = new ListBoxItem();
item.Height=20;
item.Width = 228;
Canvas canvas = new Canvas(); //面板
canvas.Width = 200;
canvas.Height = 20;
Image myImage = new Image(); //图片
BitmapImage bi = new BitmapImage();
bi.BeginInit();
bi.UriSource = new Uri("boy.jpg", UriKind.Relative);
bi.EndInit();
myImage.Stretch = Stretch.Fill;
myImage.Margin = new Thickness(0,1,0,0);
myImage.Width = 20;
myImage.Height = 20;
myImage.Source = bi;
canvas.Children.Add(myImage); //将图片添加到面板中
item.MouseEnter += delegate //鼠标进入
{
item.Height = 50;
canvas.Height = 50;
myImage.Width = 50;
myImage.Height = 50;
};
item.MouseLeave += delegate //鼠标离开
{
item.Height = 20;
canvas.Height = 20;
myImage.Width = 20;
myImage.Height = 20;
};
listBox1.Items.Add(item); //将item添加到listBox中
}
xaml文件中只定义了ListBox,无ListBoxItem,因为我想用代码实现添加ListBoxItem,但因为没有将canvas面板添加到item(即ListBoxItem对象)中,故看不到图片,请问高手,能不能将canvas添加到item中吗??用AddChild方法是受保护的,或其他方法,急。。。。 展开
private void button1_Click(object sender, RoutedEventArgs e)
{
ListBoxItem item = new ListBoxItem();
item.Height=20;
item.Width = 228;
Canvas canvas = new Canvas(); //面板
canvas.Width = 200;
canvas.Height = 20;
Image myImage = new Image(); //图片
BitmapImage bi = new BitmapImage();
bi.BeginInit();
bi.UriSource = new Uri("boy.jpg", UriKind.Relative);
bi.EndInit();
myImage.Stretch = Stretch.Fill;
myImage.Margin = new Thickness(0,1,0,0);
myImage.Width = 20;
myImage.Height = 20;
myImage.Source = bi;
canvas.Children.Add(myImage); //将图片添加到面板中
item.MouseEnter += delegate //鼠标进入
{
item.Height = 50;
canvas.Height = 50;
myImage.Width = 50;
myImage.Height = 50;
};
item.MouseLeave += delegate //鼠标离开
{
item.Height = 20;
canvas.Height = 20;
myImage.Width = 20;
myImage.Height = 20;
};
listBox1.Items.Add(item); //将item添加到listBox中
}
xaml文件中只定义了ListBox,无ListBoxItem,因为我想用代码实现添加ListBoxItem,但因为没有将canvas面板添加到item(即ListBoxItem对象)中,故看不到图片,请问高手,能不能将canvas添加到item中吗??用AddChild方法是受保护的,或其他方法,急。。。。 展开
2个回答
展开全部
listBox1.Items.Add(canvas),不必要把ListBoxItem加入到ListBox中,因为ListBox项的容器控件就是ListBoxItem,当你添加canvas时,canvas会自动被加入到内部创建的ListBoxItem中去
追问
但是不通过上面我所说的来添加,canvas没有双击事件的,而且运行出现的鼠标事件效果也不是很佳的,请问能不能我那样添加的,我就想实现我那样的效果,麻烦想想办法。。。谢谢啦
追答
item.Content = canvas;这样添加ListBoxItem的内容是可以的吧
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询