【问题标题】:visibility binding with converter and no path与转换器的可见性绑定并且没有路径
【发布时间】:2011-04-27 21:13:30
【问题描述】:

Visibility="{Binding, Converter={StaticResource nVis}}"

如果对象什么都不是,我的转换器返回折叠,如果不是,则可见。

为什么会出错:

Erreur 1 Erreur de génération inconnue, 'MC3045 : propriété 'Converter' inconnue pour le type 'MS.Internal.Markup.MarkupExtensionParser+UnknownMarkupExtension' rencontrée lors de l'analysis d'une expression Markup Extension。

【问题讨论】:

  • 绑定中的 Path='propertyName' 在哪里...
  • 这就是问题所在!我想检查对象是否是空的。不是对象属性。我们可以将 ={Binding} 用于 itemssource,为什么不用于可见性?
  • 因为如果对象还没有被创建,你就不能访问它的属性。

标签: .net wpf


【解决方案1】:

{Binding Path=.}{Binding}基本相同

<Expander Visibility="{Binding Path=., Converter={StaticResource nVis}}">

您也可以选择长语法。

<Expander>
    <Expander.Visibility>
        <Binding Converter="{StaticResource nVis}" />
    </Expander.Visibility>
</Expander>

【讨论】:

    【解决方案2】:

    为什么您不想让尚未创建的对象在创建时折叠并可见。因为默认情况下你会得到行为,如果没有对象,就没有要渲染的东西,当它被创建时,它会立即被渲染。

    【讨论】:

    • 我有一个带扩展器的右侧面板。当我单击列表框中的项目时,我设置了 expander.datacontext=item.datacontext。我的问题是当扩展器数据上下文什么都不是时,扩展器是可见的......
    【解决方案3】:

    嗯,我没有找到简单的方法。 我是通过代码而不是 xaml 完成的。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2013-01-09
      • 1970-01-01
      • 2017-11-09
      • 2012-11-23
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-12-05
      相关资源
      最近更新 更多