我成功地將一個集合綁定到DataGrid,併成功將一個屬性綁定到DataGridComboBoxColumn。 (有一個名爲snoop的WPF工具,允許我調查數據是否已被綁定)。WPF DataGridComboBoxColumn不顯示初始綁定值
但由於某些原因未顯示初始數據。只有在手動更改選擇後。該值顯然可用。
任何提示或幫助表示讚賞!
謝謝
這是我的XAML:
<DataGridComboBoxColumn Width="*"
DisplayMemberPath="RedOms"
Header="MyHeader"
ItemsSource="{Binding Source={StaticResource MyModel},
Path=SRCollection,
Mode=OneWay}"
SelectedValueBinding="{Binding AZSR,
Mode=TwoWay}"
SelectedValuePath="ID">
<DataGridComboBoxColumn.CellStyle>
<Style BasedOn="{StaticResource EDGridCell}" TargetType="DataGridCell">
<Setter Property="IsEnabled" Value="False" />
<Style.Triggers>
<DataTrigger Binding="{Binding AZBev, Mode=OneWay}" Value="False">
<Setter Property="Background" Value="{StaticResource KlrColor}" />
<Setter Property="IsEnabled" Value="True" />
</DataTrigger>
</Style.Triggers>
</Style>
</DataGridComboBoxColumn.CellStyle>
<DataGridComboBoxColumn.EditingElementStyle>
<Style TargetType="ComboBox">
<Setter Property="Background" Value="{StaticResource KlrColor}" />
</Style>
</DataGridComboBoxColumn.EditingElementStyle>
</DataGridComboBoxColumn>
這裏是靜態資源EDGridCell
<Style x:Key="EDGridCell" TargetType="{x:Type DataGridCell}">
<EventSetter Event="UIElement.PreviewMouseLeftButtonDown" Handler="DataGridCell_PreviewMouseLeftButtonDown" />
<Style.Triggers>
<Trigger Property="IsSelected" Value="True">
<Setter Property="Background" Value="Yellow" />
<Setter Property="Foreground" Value="Black" />
</Trigger>
</Style.Triggers>
</Style>
硬,沒有看到你的對象說了。我假設你正確使用INotifyPropertyChanged? – 2015-04-01 13:21:21
是的,肯定。我確定這不是一個綁定問題,因爲我可以通過snoop或WPF檢查器查看綁定值。在我看來,它一定是XAML中的一些東西 – user1841243 2015-04-01 13:29:29