我的图像的优先级绑定设置如下:
int main(int argc,char* argv[])
{
int i = 1;
int j;
while(i < argc)
{
j = -1;
while (argv[i][++j] != 0)
{
if(isdigit(argv[i][j]))
printf("OK\n");
else
printf("NOT OK\n");
}
i++;
}
}
我想要做的是动态控制第一个绑定的<Image>
<Image.Source>
<PriorityBinding>
<Binding Path="Image" IsAsync="True" Mode="OneWay"/>
<Binding Path="DefaultImage" Mode="OneWay" />
</PriorityBinding>
</Image.Source>
</Image>
,如下所示:
IsAsync
但当然无法完成,因为<Binding Path="Image" IsAsync="{Binding AsyncImagesEnabled}" Mode="OneWay"/>
不是依赖属性。我尝试使用附加属性,但由于您无法将IsAsync
类转换为Binding
,因此失败了。任何想法如何解决这个问题?
解决方法编辑:
所以目前我使用以下解决方法。我使用DependencyObject
(因为动态因为上述原因而无法使用。
StaticResource
然后我在应用程序启动时创建该资源:
<Binding Path="Image" IsAsync="{StaticResource AsyncImagesEnabled}" Mode="OneWay"/>
这意味着用户必须重新启动应用程序以应用更改,但我现在可以忍受这种情况。