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方法是受保护的,或其他方法,急。。。。
展开
 我来答
Mickal小米
2012-04-13 · TA获得超过3666个赞
知道大有可为答主
回答量:1542
采纳率:100%
帮助的人:1774万
展开全部
其实很简单,做一个listboxitem的ContentTemplate或是listbox的ItemTemplate就行了 你前台设定好这个template 后台添加上去就行了。 listbox.SetResourceReference(ListBox.ItemTemplateProperty, "listboxitemTemplate");
xxchen08
2012-04-12
知道答主
回答量:3
采纳率:0%
帮助的人:4833
展开全部
listBox1.Items.Add(canvas),不必要把ListBoxItem加入到ListBox中,因为ListBox项的容器控件就是ListBoxItem,当你添加canvas时,canvas会自动被加入到内部创建的ListBoxItem中去
追问
但是不通过上面我所说的来添加,canvas没有双击事件的,而且运行出现的鼠标事件效果也不是很佳的,请问能不能我那样添加的,我就想实现我那样的效果,麻烦想想办法。。。谢谢啦
追答
item.Content = canvas;这样添加ListBoxItem的内容是可以的吧
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式