MultiBinding в Silverlight 3 - PullRequest
       16

MultiBinding в Silverlight 3

3 голосов
/ 25 марта 2010

Как реализовать MultiBinding в Silverlight 3?

Ответы [ 2 ]

3 голосов
/ 25 марта 2010

Вот реализация, которая работает немного по-другому: http://www.olsonsoft.com/blogs/stefanolson/post/Improvements-to-Silverlight-Multi-binding-support.aspx Это позволяет вам писать код так:

<TextBlock x:Name="Block" Foreground="White" FontSize="13"
           Margin="5,0,0,0">
    <local:BindingUtil.MultiBindings>
        <local:MultiBindings>
            <local:MultiBinding TargetProperty="Text" Converter="{StaticResource TitleConverter}">
                <Binding Path="Surname"/>                            
                <Binding Path="Forename"/>
            </local:MultiBinding>
            <local:MultiBinding TargetProperty="Visibility" Converter="{StaticResource TitleToVisibiltyConverter}">
                <Binding Path="Surname"/>                            
                <Binding Path="Forename"/>
            </local:MultiBinding>
        </local:MultiBindings>
    </local:BindingUtil.MultiBindings>
</TextBlock>

Обычно мне не нравятся ссылки на блоги людей, но код слишком велик для публикации.

0 голосов
/ 25 марта 2010

Вот одна реализация, которая допускает до 5 привязок: http://www.thejoyofcode.com/MultiBinding_for_Silverlight_3.aspx Это позволяет вам писать код так:

<binding:MultiBinding x:Name="mb" Converter="{StaticResource intsToBrushConverter}"
    NumberOfInputs="3"
    Input1="{Binding ElementName=red, Path=Value, Mode=TwoWay}"
    Input2="{Binding ElementName=green, Path=Value, Mode=TwoWay}"
    Input3="{Binding ElementName=blue, Path=Value, Mode=TwoWay}" />

<Border Background="{Binding ElementName=mb, Path=Output}" Margin="5"/>
...