对象的定义如下:
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();
}
}
不用数据转换不行吗?
追答那就在你的img类里面加个属性,BitmapImage类型,绑定到此属性。