我有ListBox
ItemTemplate
和一些数据绑定,包括图片。
ItemsSource
在代码隐藏中设置。一切都按预期工作,直到应用程序尝试通过更新绑定到图像源的对象成员来更改图像的源。我做错了什么?
这是XAML:
<ListBox x:Name="myList" MouseDoubleClick="myList_MouseDoubleClick" ScrollViewer.VerticalScrollBarVisibility="Disabled">
<ListBox.ItemsPanel>
<ItemsPanelTemplate>
<WrapPanel Orientation="Vertical" />
</ItemsPanelTemplate>
</ListBox.ItemsPanel>
<ListBox.ItemTemplate>
<DataTemplate>
<Border BorderBrush="DarkGray" BorderThickness="1">
<StackPanel Orientation="Horizontal" Width="100">
<Image Width="38" Height="38" Source="{Binding Path=icon}" />
<StackPanel Width="100">
<Label Content="{Binding Path=name}" />
<Label Content="{Binding Path=state}" />
</StackPanel>
</StackPanel>
</Border>
</DataTemplate>
</ListBox.ItemTemplate>
</ListBox>
代码隐藏的某些部分:
在Window_Initialized
:
myList.ItemsSource = myLineList;
在myList_MouseDoubleClick
:
Line aLine = myList.SelectedItem as Line;
if (aLine != null) {
aLine.icon = "idle.jpg";
}