WPF中如何把listBox选中的对象绑定在图片的Source上

对象的定义如下:classimg{publicStringName{get;set;}publicStringURL{get;set;}publicimg(Stringn... 对象的定义如下:
class img
{
public String Name { get; set; }
public String URL { get; set; }
public img(String name,String url) {
this.Name = name;
this.URL = url;
}
}
XAML代码:
<Grid>
<Button Content="Clear" ">
<ListBox Name="listBox" />
<Image x:Name="img" Source="Assets/img/Alpaca.jpg" />
<TextBlock x:Name="tb" HorizontalAlignment="Left" Margin="276,280,0,0" TextWrapping="Wrap" VerticalAlignment="Top" Text="{Binding SelectedIndex,ElementName=listBox}"/>

</Grid>
XAML对应的后台代码:
public partial class MainWindow : Window
{
List<img> listImg = new List<img>();
public MainWindow()
{
listImg.Add(new img("Alpaca", @"Assets\img\Alpaca.jpg"));
listImg.Add(new img("Elephas", @"Assets\img\Elephas.jpg"));
listImg.Add(new img("Giraffa", @"Assets\img\Giraffa.jpg"));
listImg.Add(new img("LemurCatta", @"Assets\img\LemurCatta.jpg"));
listImg.Add(new img("panda", @"Assets\img\panda.jpg"));
listImg.Add(new img("pen", @"Assets\img\pen.jpg"));
InitializeComponent();

this.listBox.ItemsSource = listImg;
this.listBox.DisplayMemberPath = "Name";//Source="{Binding ElementName=listBox,Path=SelectItem.URL}"
//this.img.SetBinding(this.listBox.SelectedItem,new Binding()
//tb.Text = listBox.SelectedIndex.ToString();

}
}
展开
 我来答
阳光的雷咩咩
2014-06-03 · TA获得超过1.4万个赞
知道大有可为答主
回答量:2.3万
采纳率:66%
帮助的人:7861万
展开全部
你的意思是在listbox选中不同的图片路径,在image控件预览?
可以绑定,但是要注意你选中的值是string类型的,而图片的source是BitmapImage,所以要定义一个Converter来转换。
追问
不用数据转换不行吗?
追答
那就在你的img类里面加个属性,BitmapImage类型,绑定到此属性。
央筱石05
推荐于2017-10-04 · 超过13用户采纳过TA的回答
知道答主
回答量:28
采纳率:100%
帮助的人:8.8万
展开全部
对象的定义如下:
class img
{
public String Name { get; set; }
public String URL { get; set; }
public img(String name,String url) {
this.Name = name;
this.URL = url;
}
}
XAML代码:
<Grid>
<Button Content="Clear" ">
<ListBox Name="listBox" />
<Image x:Name="img" Source="Assets/img/Alpaca.jpg" />
<TextBlock x:Name="tb" HorizontalAlignment="Left" Margin="276,280,0,0" TextWrapping="Wrap" VerticalAlignment="Top" Text="{Binding SelectedIndex,ElementName=listBox}"/>

</Grid>
XAML对应的后台代码:
public partial class MainWindow : Window
{
List<img> listImg = new List<img>();
public MainWindow()
{
listImg.Add(new img("Alpaca", @"Assets\img\Alpaca.jpg"));
listImg.Add(new img("Elephas", @"Assets\img\Elephas.jpg"));
listImg.Add(new img("Giraffa", @"Assets\img\Giraffa.jpg"));
listImg.Add(new img("LemurCatta", @"Assets\img\LemurCatta.jpg"));
listImg.Add(new img("panda", @"Assets\img\panda.jpg"));
listImg.Add(new img("pen", @"Assets\img\pen.jpg"));
InitializeComponent();

this.listBox.ItemsSource = listImg;
this.listBox.DisplayMemberPath = "Name";//Source="{Binding ElementName=listBox,Path=SelectItem.URL}"
//this.img.SetBinding(this.listBox.SelectedItem,new Binding()
//tb.Text = listBox.SelectedIndex.ToString();

}
}
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
enjoyjun123
2016-04-03 · TA获得超过354个赞
知道小有建树答主
回答量:296
采纳率:50%
帮助的人:48.1万
展开全部
意思listbox选同图片路径image控件预览
绑定要注意选值string类型图片sourceBitmapImage所要定义Converter转换
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式