나는 다음과 같은 설정을 가지고 :필터링이 결합되어 콤보 상자에서 값을 선택 제거합니다
이 메인 화면입니다 :
<ListView Name="lineData" Grid.Row="2" ItemsSource="{Binding ElementName=This, Path=LineInformation, ValidatesOnDataErrors=True}"
ItemContainerStyle="{StaticResource ItemStyle}" PreviewMouseUp="lineData_PreviewMouseUp" SelectedIndex="0"
Foreground="{StaticResource {x:Static SystemColors.ControlTextBrushKey}}">
<ListView.View>
<GridView x:Name="gridViewItems" AllowsColumnReorder="false">
<GridViewColumn Header="Product" Width="Auto">
<GridViewColumn.CellTemplate>
<DataTemplate>
<StackPanel Orientation="Horizontal">
<ComboBox Name="descriptionComboBox" Loaded="description_Loaded"
DisplayMemberPath="Description" SelectedItem="{Binding Path=Product}" SourceUpdated="descriptionComboBox_SourceUpdated"
MinWidth="200" Width="Auto" SelectionChanged="description_SelectionChanged" TargetUpdated="descriptionComboBox_TargetUpdated">
<ComboBox.ItemsSource>
<Binding Source="{StaticResource XmlFile}" />
</ComboBox.ItemsSource>
</ComboBox>
</StackPanel>
</DataTemplate>
</GridViewColumn.CellTemplate>
</GridViewColumn>
</GridView>
</ListView.View>
</ListView>
이 화면이 같은 새 창을 호출하는 버튼, :
,536 : 는 Window newWindow = new Window();
buildWindow.Owner = this; //MainWindow is the owner
buildWindow.ShowDialog();
이 새로운 창은 다음과 같이 첫 번째 창에서 콤보 상자에있는 값을 필터링
XmlDataProvider provider = Owner.FindResource("XmlFile") as XmlDataProvider;
provider.XPath = _configuration.CreateFilterQuery();
provider.Refresh();
그래서이 콤보 박스에는이 XmlFile에 대한 바인딩이 있습니다. 내가 가지고있는 문제는 이제 콤보 박스가 새로운 필터의 범주에 속하면 그 값을 콤보 박스에 표시해야한다는 것입니다.
하지만 .Refresh() 함수를 호출하면 콤보 상자의 선택된 색인이 재설정됩니다.
XPath 쿼리를 적용한 후 표시된 텍스트를 유지하는 방법에 대한 아이디어가 있으십니까?
감사합니다.