【发布时间】:2012-04-28 20:41:08
【问题描述】:
如果我指定了祖先,下面的组合框绑定有效,否则无效。如果我不指定祖先,为什么它不起作用?
<wpftoolkit:DataGrid Grid.Row="4" Grid.Column="1" Grid.ColumnSpan="2"
Margin="5"
BorderBrush="#A6A6A6"
BorderThickness="1"
ItemsSource="{Binding DebitListing}"
AutoGenerateColumns="False"
SelectionMode="Single">
<wpftoolkit:DataGrid.Columns>
<wpftoolkit:DataGridComboBoxColumn
Header="{Resx ResxName=MyBooks.Properties.Strings, Key=PartyListing_Party_Label}"
SelectedItemBinding="{Binding Party, ValidatesOnDataErrors=True}"
DisplayMemberPath="Name">
<wpftoolkit:DataGridComboBoxColumn.ElementStyle>
<Style TargetType="{x:Type ComboBox}">
<Setter Property="ItemsSource" Value="{Binding Path=DataContext.CreditedAccounts, RelativeSource={RelativeSource AncestorType={x:Type UserControl}}}" />
</Style>
</wpftoolkit:DataGridComboBoxColumn.ElementStyle>
<wpftoolkit:DataGridComboBoxColumn.EditingElementStyle>
<Style TargetType="{x:Type ComboBox}">
<Setter Property="ItemsSource" Value="{Binding Path=DataContext.CreditedAccounts, RelativeSource={RelativeSource AncestorType={x:Type UserControl}}}" />
</Style>
</wpftoolkit:DataGridComboBoxColumn.EditingElementStyle>
</wpftoolkit:DataGridComboBoxColumn>
<wpftoolkit:DataGridTextColumn
Header="{Resx ResxName=MyBooks.Properties.Strings, Key=PartyListing_Amount_Label}"
Binding="{Binding Amount, ValidatesOnDataErrors=True}"/>
</wpftoolkit:DataGrid.Columns>
</wpftoolkit:DataGrid>
【问题讨论】:
-
任何人对问题有疑问然后发表评论。
-
你需要更清楚地解释你的问题是什么。你有一个组合框,“如果祖先写,它可以正常工作,否则它不工作”我不知道这意味着什么。
-
也许可以举一个 2-3 行的例子来说明什么是有效的,什么是无效的。
-
我需要知道该行的作用:Value="{Binding Path=DataContext.CreditedAccounts, RelativeSource={RelativeSource AncestorType={x:Type UserControl}}}