Связывание WPF с проблемой TabControl - PullRequest
0 голосов
/ 01 мая 2019

Это немного сложно объяснить ...

У меня есть главное окно, которое содержит TabControl с 7 вкладками: Вкладка Прайс-лист содержит Listview и TextBoxes. В списке отображаются прайс-листы из базы данных. Когда я выбираю (щелкаю) любой прайс-лист, выделенный элемент выделяется, а текстовые поля заполняются выбранными данными.

Проблема: Это работает, только если ListView находится в основной Windows. Если я помещу все внутри вкладки и запусту его, код работает, но ListView не выделяет выбранный элемент списка или не заполняет текстовые поля. В основном связывание не показывает изменений.

 <UserControl ....>
<ListView x:Name="ListViewPriceLists"   ItemsSource="{Binding ListOfPriceLists}" SelectedItem="{Binding SelectedPriceList, Mode=TwoWay}" >
    <ListView.View>
        <GridView>
            <GridViewColumn Width="300" DisplayMemberBinding="{Binding Reference}" >
                <GridViewColumn.Header>
                    <GridViewColumnHeader Tag="Description" Click="GridViewColumnHeader_Click">Description</GridViewColumnHeader>
                </GridViewColumn.Header>
            </GridViewColumn>

            <GridViewColumn Width="300" DisplayMemberBinding="{Binding Description}" >
                <GridViewColumn.Header>
                    <GridViewColumnHeader Tag="Description" Click="GridViewColumnHeader_Click">Description</GridViewColumnHeader>
                </GridViewColumn.Header>
            </GridViewColumn>

        </GridView>
    </ListView.View>
</ListView>

MainWindow.xaml

        <!--  PRICE LIST  -->
        <TabItem x:Name="TabItemPriceList" Header="PRICE LIST" GotFocus="TabItemPriceList_GotFocus" IsSelected="True" >
            <DockPanel LastChildFill="True">
                <Grid x:Name="GcPriceList"  >

                </Grid>
            </DockPanel>
        </TabItem>

MainWindow.xaml.cs

    private void TabItemPriceList_GotFocus(object sender, RoutedEventArgs e)
    {
        GcPriceList.Children.Clear();
        PiceListUC piceListUC = new PiceListUC();
        GcPriceList.Children.Add(piceListUC);
    }
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...