productColumn2的綁定完美地適用於這兩種方式。當我爲每個添加一個轉換器時,productColumn1稱爲轉換器;但是當從可觀察集合加載時將其值設置爲null,或者在賦值時將值設置爲產品(但實際上並未分配可觀察集合)。相同的綁定適用於1個XAML項目,但爲另一個爲空
問題與DataContext和LogicalTree有關。 ProductSelectorTextBoxUserControl的DataContext本身就是它自己的代碼。我希望能夠將其「文本」屬性綁定到我的可觀察集合,如productColumn2中。我到目前爲止似乎無法將ProductSelectorTextBoxUserControl DataContext設置爲此處使用的DataContext。
<DataGrid ItemsSource="{Binding Path=ObservableCollectionItems, Mode=OneWay}" AutoGenerateColumns="False" EnableRowVirtualization="True" >
<DataGrid.Columns>
<DataGridTemplateColumn x:Name="productColumn1" SortMemberPath="Product" >
<DataGridTemplateColumn.CellTemplate>
<DataTemplate>
<productSelector:ProductSelectorTextBoxUserControl Text="{Binding Path=Product, Mode=TwoWay, NotifyOnSourceUpdated=True, UpdateSourceTrigger=LostFocus, ValidatesOnExceptions=True}" />
</DataTemplate>
</DataGridTemplateColumn.CellTemplate>
</DataGridTemplateColumn>
<DataGridTextColumn x:Name="productColumn2" Binding="{Binding Path=Product, Mode=TwoWay, NotifyOnSourceUpdated=True}" />
</DataGrid.Columns>
您能分享轉換器的代碼嗎? – sellmeadog 2012-08-07 15:45:44
在輸出窗口中獲取任何綁定錯誤? – 2012-08-07 16:05:08
您是否曾嘗試在'productColumn2'中使用轉換器?我最初的猜測是'customeTextBoxOfProductType'沒有找到'Product'屬性,這會指示導航邏輯樹時出現問題而無法找到'DataGrid.DataContext'。 – sellmeadog 2012-08-07 16:09:05