2012-07-31 75 views
0

我有一個由三個字母和兩個數字,如「ABC 12」的一個屬性。我的項目的要求要求用戶界面將其分成三個字母組合的ComboBox和數字的TextBox。我可以很容易地使用轉換器來解析出我需要的字符串部分。單屬性綁定到多個控件在WPF

我的問題是,是否有落實「ConvertBack」邏輯在我的轉換器,這樣我可以重置基於在兩個不同的控件的值屬性的一種方式。

我的XAML:

<ComboBox IsEnabled="{Binding EditMode}" ItemsSource="{Binding AbbrevsList}"  
      DisplayMemberPath="SelectedAbbrev" SelectedValuePath="Abbrev" 
      SelectedValue="{Binding Row.Code, Converter=CodeAlphaConverter, 
          UpdateSourceTrigger=PropertyChanged}" /> 
<TextBox TextAlignment="Left"> 
    <TextBox.Text> 
      <Binding Path="Row.Code" Converter="CodeNumericConverter" 
        UpdateSourceTrigger="LostFocus"> 
      </Binding> 
     </TextBox.Text> 
</TextBox> 

感謝。

+1

爲什麼不具有兩個字段(字符串和數字),其是經典結合和隨後合併這兩種屬性? – ykatchou 2012-07-31 14:00:58

+0

我避免這樣做的唯一原因是因爲字母數字代碼在我的數據源中保存爲單個字符串。 – jpaull 2012-07-31 14:02:54

+0

恕我直言,它聽起來更像是一個設計問題,然後我的意思是,數據源不必是同一個對象的GUI的。你怎麼看 ? – ykatchou 2012-07-31 14:04:51

回答

1

由於WPF不允許你綁定轉換器參數,你可能要切換你的方法。而不是使用轉換器,上的其他答案指向更改視圖模式對邏輯內置到兩個屬性,並結合這些或,而不是在單獨的值傳遞給轉換器,你在整個對象傳遞。