【问题标题】:Binding ConverterParameter with control's one of property itself将 ConverterParameter 与控件的属性之一绑定
【发布时间】:2013-10-01 18:44:46
【问题描述】:

我想在我的 Windows 8 应用程序上将 Rectangle 的填充属性作为 ConverterParameter 传递,我该怎么做?我的以下努力不起作用。矩形是gridview的DataTemplate的一部分。

<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"/>

【问题讨论】:

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

标签: data-binding microsoft-metro windows-store-apps winrt-xaml


【解决方案1】:

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

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2013-04-20
    • 1970-01-01
    • 2012-07-11
    • 2020-01-03
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-03-24
    相关资源
    最近更新 更多