[wpf] 멀티 라인을 xaml의 한 줄에 넣는다.


Answers

멀티 바인딩에는 약식 문자열이 없습니다. 확장 요소 구문을 사용해야합니다.

Question

이 멀티 바인딩을 사용할 수있는 방법이 있습니까?

<TextBox.IsEnabled>
    <MultiBinding Converter="{StaticResource LogicConverter}">
        <Binding ElementName="prog0_used" Path="IsEnabled" />
        <Binding ElementName="prog0_used" Path="IsChecked" />
    </MultiBinding>
</TextBox.IsEnabled>

<TextBox IsEnabled="" /> 와 같이 모두 한 줄에 넣으면됩니까?

그렇다면이 형식의 규칙을 어디서 배울 수 있습니까?




이 작업은 사용자 정의 마크 업 확장을 사용하여 수행 할 수 있습니다.

public class MultiBinding : System.Windows.Data.MultiBinding
{
    public MultiBinding (BindingBase b1, BindingBase b2)
    {
        Bindings.Add(b1);
        Bindings.Add(b2);
    }

    public MultiBinding (BindingBase b1, BindingBase b2, BindingBase b3)
    {
        Bindings.Add(b1);
        Bindings.Add(b2);
        Bindings.Add(b3);
    }

    // Add more constructors if you need.
}

용법:

<TextBox IsEnabled="{local:MultiBinding
    {Binding IsEnabled, ElementName=prog0_used},
    {Binding IsChecked, ElementName=prog0_used},
    Converter={StaticResource LogicConverter}}">



Related