2016-07-21 57 views
-2

我在我的視圖模型中將我的DataGrid綁定到列表SysRebarDefinitions。起初一切正常,數據按預期加載,但是當我嘗試編輯單元格時。我的轉換器中出現dependencyproperty.unsetvalue錯誤。可能是什麼問題?dependencyproperty.unsetvalue與DataGrid多重綁定的異常

<DataGrid ItemsSource="{Binding Path=SysRebarDefinitions}"> 
    <DataGrid.Columns> 
     <DataGridTextColumn Header="Weight" 
          Width="*"> 
      <DataGridTextColumn.Binding> 
       <MultiBinding Converter="{StaticResource RebarLengthAndDensityToWeightMultiConverter}" 
            StringFormat="{}{0:0.###}"> 
        <Binding Path="StockLength"/> 
        <Binding Path="Weight"/> 
       </MultiBinding> 
      </DataGridTextColumn.Binding> 
     </DataGridTextColumn> 
    </DataGrid.Columns> 
</DataGrid> 
+0

顯示轉換器的實現。可能沒有適當的'ConvertBack'實現。 –

+0

@ H.B。我還沒有實現'ConvertBack'部分。但我調試過,似乎ConvertBack部分根本不執行。 Convert方法被執行,'object []值'包含'dependencyproperty.unsetvalue'。它第一次工作。我嘗試編輯時失敗。 – Vahid

+0

@ H.B。我用Google搜索了它。它必須是因爲綁定,並以某種方式找到父控制綁定,但我不知道如何在XAML中實現它。 – Vahid

回答

0

我有這個問題的一些紅色箭頭,但我不知道爲什麼,但這裏是我找到的解決方案!只需檢查轉換器中的UnsetValue並返回。

if (values[0] == DependencyProperty.UnsetValue || 
    values[1] == DependencyProperty.UnsetValue) 
{ 
    return null; 
} 
+1

這是因爲您沒有發佈相關的代碼,這是轉換器的實現。我在第一條評論中告訴過你。 –

+0

@ H.B。你是對的!但它不在您的第一條評論中告訴我的'ConvertBack'部分。 – Vahid