【发布时间】:2017-05-21 05:31:18
【问题描述】:
我在将我的 Datagrid ComboBox 选定项正确绑定到我的 PowerShell 对象时遇到了一些问题。我正在使用带有“UpdateSourceTrigger=PropertyChanged”参数的 ComboBox 的双向绑定。源对象正确地作为项目添加到组合框,并且源对象将随着选择的更改而更新。但是,当我保存对象或第一次启动时,所选项目不会被绑定。而是将所有 ComboBox 生成为没有选定值。
XAML:
<DataGrid Name="CustomDescription_Fields_DG" HorizontalAlignment="Left" Width="626" Margin="185,113,0,87" IsReadOnly="True" AutoGenerateColumns="False" GridLinesVisibility="None" AlternatingRowBackground="#FFEFEFF2" >
<DataGrid.Columns>
<DataGridTextColumn Binding="{Binding Field}" Header="Applied Fields" Width="395"/>
<DataGridTemplateColumn Header="Position" Visibility="Visible" Width="60">
<DataGridTemplateColumn.CellTemplate>
<DataTemplate>
<ComboBox SelectedItem="{Binding Path=Position, Mode=TwoWay, UpdateSourceTrigger=PropertyChanged}" ItemsSource="{Binding ItemCount}"/>
</DataTemplate>
</DataGridTemplateColumn.CellTemplate>
</DataGridTemplateColumn>
</DataGrid.Columns>
<DataGrid.CellStyle>
<Style TargetType="{x:Type DataGridCell}">
<Style.Triggers>
<Trigger Property="DataGridCell.IsSelected" Value="True">
<Setter Property="BorderBrush">
<Setter.Value>
<SolidColorBrush Color="Transparent"/>
</Setter.Value>
</Setter>
<Setter Property="Foreground"
Value="{DynamicResource
{x:Static SystemColors.ControlTextBrushKey}}"/>
<Setter Property="Background">
<Setter.Value>
<SolidColorBrush Color="Transparent"/>
</Setter.Value>
</Setter>
</Trigger>
</Style.Triggers>
</Style>
</DataGrid.CellStyle>
</DataGrid>
WPF 应用程序启动:
您可以看到,当应用程序启动时,ComboBox 项已正确绑定到 ItemsSource 对象的“ItemCount”字段。应该发生什么(或者至少我想要实现的)是所选项目应该是在 ItemsSource 对象的“位置”字段中定义的项目。
这是正在发生的事情的细分:
我不确定我做错了什么。任何帮助将不胜感激。
【问题讨论】:
标签: wpf powershell xaml binding datagrid