2013-06-20 6 views
0

Есть ли способ, чтобы одно текстовое поле связывалось с двумя вещами. Я хочу иметь один набор привязок к «OneWay», а другой - к «OneWayToSource». В принципе, я хочу объединить эти два текстовых поля в один (и желательно с небольшим кодом без кода).текстовое поле с несколькими привязками?

<TextBox Text="{Binding Path=ActionParameter.Value, Mode=OneWayToSource}" /> 

<TextBox Text="{Binding Path=StatusSignal.Value, Mode=OneWay}" /> 

ответ

0

Вы можете использовать MultiBinding установить 2 или более bindings к вашему TextBox

Пример:

<TextBox> 
    <TextBox.Text> 
     <MultiBinding StringFormat="{}{0}{1}"> 
      <Binding Path="ActionParameter.Value" Mode="OneWayToSource" /> 
      <Binding Path="StatusSignal.Value" Mode="OneWay" /> 
     </MultiBinding> 
    </TextBox.Text> 
</TextBox> 

Но в зависимости от того, что вам нужно сделать с 2-х свойств, которые, возможно, придется использовать a IMultiValueConverter для обработки свойств.

Пример:

<TextBox> 
    <TextBox.Resources> 
     <local:TextConverter x:Key="MyConverter"/> 
    </TextBox.Resources> 
    <TextBox.Text> 
     <MultiBinding Converter="{StaticResource MyConverter}"> 
      <Binding Path="ActionParameter.Value" Mode="OneWayToSource" /> 
      <Binding Path="StatusSignal.Value" Mode="OneWay" /> 
     </MultiBinding> 
    </TextBox.Text> 
</TextBox>