Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/262.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 编辑绑定源后未刷新图像源_C#_Wpf_Xaml_Binding - Fatal编程技术网

C# 编辑绑定源后未刷新图像源

C# 编辑绑定源后未刷新图像源,c#,wpf,xaml,binding,C#,Wpf,Xaml,Binding,我的xaml中有一个图像。该图像的源代码来自转换器。单击此图像时,会更改绑定源的属性 没有发生的是图像会立即更改其源,但是如果我切换父对象的DataContext,然后切换回已更改的项目,它会显示得很好 xaml: <conv:BoolImageConverter x:Key="MarkiertImageConverter"/> [...] <Border x:Name="maBorder" DataContext="{Binding SelectedItem,

我的xaml中有一个
图像
。该
图像
的源代码来自
转换器
。单击此图像时,会更改绑定源的属性

没有发生的是图像会立即更改其源,但是如果我切换父对象的
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;
  }
}