如何MultiBinding太GeometryGroup

时间:2013-02-20 08:47:28

标签: c# wpf xaml multibinding

我有一个工作的MultiBinding,其中Path.Data(此处的路径为System.Windows.Shapes.Path)。 Converter返回类型为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>

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

2 个答案:

答案 0 :(得分:2)

你可以绑定PathGeometry.Figures属性并拥有一个返回PathFigureCollection的转换器,但我担心你必须忍受VS Designer抱怨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>

答案 1 :(得分:-1)

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

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