C# 编辑绑定源后未刷新图像源
我的xaml中有一个C# 编辑绑定源后未刷新图像源,c#,wpf,xaml,binding,C#,Wpf,Xaml,Binding,我的xaml中有一个图像。该图像的源代码来自转换器。单击此图像时,会更改绑定源的属性 没有发生的是图像会立即更改其源,但是如果我切换父对象的DataContext,然后切换回已更改的项目,它会显示得很好 xaml: <conv:BoolImageConverter x:Key="MarkiertImageConverter"/> [...] <Border x:Name="maBorder" DataContext="{Binding SelectedItem,
图像
。该图像
的源代码来自转换器
。单击此图像时,会更改绑定源的属性
没有发生的是图像会立即更改其源,但是如果我切换父对象的DataContext
,然后切换回已更改的项目,它会显示得很好
xaml:
<conv:BoolImageConverter x:Key="MarkiertImageConverter"/>
[...]
<Border x:Name="maBorder"
DataContext="{Binding SelectedItem, ElementName=myACB, NotifyOnSourceUpdated=True}">
<Grid>
[...]
<StackPanel Orientation="Horizontal"
VerticalAlignment="Bottom"
HorizontalAlignment="Stretch">
[...]
<Image x:Name="favImage"
[...]
Source="{Binding Markiert, NotifyOnSourceUpdated=True, Mode=OneWay, Converter={StaticResource MarkiertImageConverter}}"
MouseUp="favImage_MouseUp">
[...]
</Image>
</StackPanel>
</Grid>
</Border>
背后的代码:
private void favImage_MouseUp(object sender, MouseButtonEventArgs e)
{
if ([...])
{
((Kollege)favImage.DataContext).Markiert = !((Kollege)favImage.DataContext).Markiert;
lbFavs.ItemsSource = favColleagueList;
}
}
为什么我的
图像的SourceUpdated
没有被触发?我如何解决这个问题?Markiert
属性是否会发出属性更改通知?请看一下INotifyPropertyChanged界面。@Clemens:这正是我所缺少的。虽然我在另一节课上做了完全相同的事情,但这次我监督了它。
private void favImage_MouseUp(object sender, MouseButtonEventArgs e)
{
if ([...])
{
((Kollege)favImage.DataContext).Markiert = !((Kollege)favImage.DataContext).Markiert;
lbFavs.ItemsSource = favColleagueList;
}
}