WPF图像源绑定

时间:2009-04-15 22:49:59

标签: c# wpf image xaml binding

我有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";
}

1 个答案:

答案 0 :(得分:1)

您的“Line”类是否实现INotifyPropertyChanged,还是使用依赖项属性?它必须有一些方法来通知绑定“icon”属性的值已经改变。