내 PowerGrid ComboBox 선택한 항목을 PowerShell 개체에 올바르게 바인딩하는 데 문제가 있습니다. 'UpdateSourceTrigger = PropertyChanged'매개 변수를 사용하여 ComboBox에 대한 양방향 바인딩을 사용하고 있습니다. 원본 개체가 ComboBox에 항목으로 올바르게 추가되고 선택 항목이 변경되면 원본 개체가 업데이트됩니다. 그러나 개체를 저장하거나 처음 실행하면 선택한 항목이 바인딩되지 않습니다. 대신 모든 ComboBox는 선택된 값이없는 것으로 생성됩니다.WPF Datagrid Combobox SelectedItem이 Powershell 개체에 올바르게 바인딩되지 않습니다.
는 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 응용 프로그램 시작 :
당신이 볼 수있는 응용 프로그램이 콤보 상자 항목이 올바르게 ItemsSource 개체의 'ITEMCOUNT'필드에 바인딩되어 출시 될 때. 무슨 일이 (또는 적어도 내가 달성하려고 노력하고있어) 선택한 항목이 ItemsSource 개체의 '위치'필드 내에 정의 된 항목이어야한다는 것입니다. 내가 잘못하고 있어요 무엇인지 확실하지거야
:
이
은 무슨 일이 일어나고 있는지의 고장이다. 어떤 도움이라도 대단히 감사 할 것입니다.Object being added as Itemssource
안녕하세요. 답장을 보내 주셔서 감사합니다. 'DisplayMemberPath'가 정확히 무엇으로 설정되었는지에 대해 알려주시겠습니까? 위에서 객체가 Datagrid에 적용되는 방법을 간략하게 설명하는 PS 코드를 편집했습니다. 더 이상 코드가 필요하면 알려주세요. 임이 필사적 으로이 일을! – Haliax
내 예제에서 Symbol은 제 경우 인 ItemsSource 인 DataTable의 열 이름입니다. 모든 것은 콤보 박스의 ItemsSource 구성에 달려 있습니다.나는 이것이 단순히 정수의 목록 인 것 같아서 이것을 버릴 수 있습니다. – AQuirky
예, itemsource는 1-10의 정수를 포함하는 열입니다. 다음 콤보 상자의 선택한 값을 원하는 단일 정수가 포함 된 두 번째 열이 있습니다. 바인드 작업에서 콤보 상자의 정수 중 하나를 선택하면 itemsource 객체가 올바르게 업데이트되지만 데이터 필드가 새로 고쳐지면 콤보 상자가 선택된 항목을 표시하지 않게됩니다. – Haliax