基于另一个对象的属性更改绑定图像源

时间:2017-07-07 16:42:51

标签: c# .net wpf binding xamarin.forms

我有一个对象,我可以绑定这样的属性:

<Label Text = "{Binding id}"/>

正确完成绑定。现在我想基于标签的属性绑定图像。 我试着像这样使用DataTrigger

<Image >
  <Image.Style>
    <Style TargetType="{x:Type Image}">
      <Style.Triggers>
          <DataTrigger Binding="{Binding id}" Value="1">
            <Setter Property="Source"   Value="mypic.png"/>
          </DataTrigger>
        </Style.Triggers>
     </Style>
   </Image.Style>
 </Image>

但是我遇到以下错误:字典中没有给定的密钥。一切都很好看。我的代码出了什么问题?

1 个答案:

答案 0 :(得分:0)

你应该添加

TargetType="Image"

DataTrigger 标记。你的代码应该是这样的:

<Image >
    <Image.Style>
        <Style TargetType="{x:Type Image}">
            <Style.Triggers>
                <DataTrigger TargetType="Image" Binding="{Binding id}" Value="1">
                    <Setter Property="Source"   Value="mypic.png"/>
                </DataTrigger>
            </Style.Triggers>
        </Style>
    </Image.Style>
</Image>