如何多重绑定太GeometryGroup

本文关键字:GeometryGroup 绑定 何多重 | 更新日期: 2023-09-27 18:00:09

我有一个使用Path.Data的工作MultiBinding(此处的路径为System.Windows.Shapes.Path)。转换器返回类型为System.Windows.Media.PathGeometry

<Path.Data>
  <MultiBinding Converter="{StaticResource ResourceKey=ToPathGeometryMultiConverter}">
    <Binding Path="A"/>
    <Binding Path="B"/>
    <Binding Path="C"/>
  </MultiBinding>-->
</Path.Data>

现在我想稍微改变一下结构,在GeometryGroup中添加几个几何图形。我不知道如何在这里添加MultiBinding的语法。

<Path.Data>                    
  <GeometryGroup>       
    <PathGeometry> 
     <!-- HOW CAN I MULTIBIND HERE --> 
    </PathGeometry>
  </GeometryGrounp>
<Path.Data>

无论我尝试什么,我总是会遇到编译错误。

如何多重绑定太GeometryGroup

您可以绑定PathGeometry.Figures属性并有一个返回PathFigureCollection的转换器,但恐怕您必须接受VS设计器抱怨XAML的事实。

<Path.Data>
    <GeometryGroup>
        <PathGeometry>
            <PathGeometry.Figures>
                <MultiBinding Converter="{StaticResource PathFiguresConverter}">
                    <Binding Path="A"/>
                    <Binding Path="B"/>
                    <Binding Path="C"/>
                </MultiBinding>
            </PathGeometry.Figures>
        </PathGeometry>
    </GeometryGroup>
</Path.Data>

您可以尝试将绑定代码而不是PathGeometry标记

<Path.Data>                    
    <MultiBinding Converter="{StaticResource ResourceKey=ToPathGeometryMultiConverter}">
       <Binding Path="A"/>
       <Binding Path="B"/>
       <Binding Path="C"/>
    </MultiBinding>  
<Path.Data>