Data binding 将转换器参数与控件绑定';这是财产本身的问题

Data binding 将转换器参数与控件绑定';这是财产本身的问题,data-binding,microsoft-metro,windows-store-apps,winrt-xaml,Data Binding,Microsoft Metro,Windows Store Apps,Winrt Xaml,我想在我的Windows 8应用程序上以ConverterParameter的形式传递矩形的fill属性,我该怎么做?我下面的努力不起作用。矩形是gridview数据模板的一部分 <Rectangle x:Name="rect" Fill="{Binding status, Converter={StaticResource StatusToColor},ConverterParameter={Binding RelativeSource={RelativeSource Mode=Self

我想在我的Windows 8应用程序上以ConverterParameter的形式传递矩形的fill属性,我该怎么做?我下面的努力不起作用。矩形是gridview数据模板的一部分

<Rectangle x:Name="rect" Fill="{Binding status, Converter={StaticResource StatusToColor},ConverterParameter={Binding RelativeSource={RelativeSource Mode=Self}, Path=Fill}}" 
 Height="100" Width="100" VerticalAlignment="Center"/>

<Rectangle x:Name="rect" Fill="{Binding status, Converter={StaticResource StatusToColor},ConverterParameter={Binding Fill,ElementName=rect}}" 
 Height="100" Width="100" VerticalAlignment="Center"/>

不能将依赖项属性绑定到自身。您必须在此处引入另一层,或者:

  • 使用显示要绑定到的值的视图模型
  • 使用
    UserControl
    或派生元素类型并引入新的依赖项属性

发布答案后,我注意到您试图将矩形的填充绑定到其自身的填充,这将导致无限循环。这是什么意思?我需要根据fill属性以前的值设置fill属性。对。。。这样,您将需要在视图模型或代码隐藏中实现此逻辑。您不能将属性绑定到自身,它将导致无限循环。