2013-04-29 3 views
0

Я использую tabcontrol, и в моем tabcontrol есть две вкладки, а затем один datagrid на каждой вкладке. Однако теперь я могу выбирать строки в первом datagrid, но не могу во втором. Я не знаю, почему я не могу выбрать строки во втором datagrid.WPF Datagrid не может выбирать строки

Ниже моя XAML:

<TabControl Height="547" HorizontalAlignment="Left" Margin="12,14,0,0" Name="ManageTab" VerticalAlignment="Top" Width="768" Grid.RowSpan="2" 
        SelectionChanged="ManageTab_SelectionChanged"> 
      <TabItem Header="STUT" Name="tab1"> 
       <Grid Height="520" Width="765" DataContext="{StaticResource UserViewSource}"> 
        <DataGrid AutoGenerateColumns="False" EnableRowVirtualization="True" Height="514" HorizontalAlignment="Left" 
        ItemsSource="{Binding}" Name="UserDataGrid" RowDetailsVisibilityMode="VisibleWhenSelected" 
        AlternatingRowBackground="LightBlue" VerticalContentAlignment="Center" 
        HorizontalGridLinesBrush="Gray" VerticalGridLinesBrush="Gray" 
        VerticalAlignment="Top" Width="346" SelectedCellsChanged="UserDataGrid_SelectedCellsChanged"> 
         <DataGrid.Columns> 
          <DataGridTextColumn x:Name="AccColumn" Binding="{Binding Path=Acc}" Header="Account" Width="80" IsReadOnly="True" /> 
          <DataGridTextColumn x:Name="NameColumn" Binding="{Binding Path=Name}" Header="Name" Width="80" IsReadOnly="True" /> 
         </DataGrid.Columns> 
        </DataGrid> 
        <Button Content="Exit" Height="49" HorizontalAlignment="Left" Margin="669,0,0,110" Name="btnExit" VerticalAlignment="Bottom" Width="75" Click="btnExit_Click" /> 
       </Grid> 
      </TabItem> 
      <TabItem Header="CLASS" Name="tab2"> 
       <Grid Height="508" Width="753" DataContext="{StaticResource ClassViewSource}"> 
        <DataGrid AutoGenerateColumns="False" EnableRowVirtualization="True" Height="514" HorizontalAlignment="Left" 
            ItemsSource="{Binding}" Margin="6,2,0,0" Name="ClassDataGrid" RowDetailsVisibilityMode="VisibleWhenSelected" 
            AlternatingRowBackground="LightBlue" VerticalContentAlignment="Center" 
            HorizontalGridLinesBrush="Gray" VerticalGridLinesBrush="Gray" 
            VerticalAlignment="Top" Width="342" SelectedCellsChanged="ClassDataGrid_SelectedCellsChanged"> 
         <DataGrid.Columns> 
          <DataGridTextColumn x:Name="ClassNameColumn" Binding="{Binding Path=ClassName}" Header="ClassName" Width="280" /> 
         </DataGrid.Columns> 
        </DataGrid> 
        <Button Content="Exit" Height="49" HorizontalAlignment="Left" Margin="672,0,0,178" Name="btnExit2" VerticalAlignment="Bottom" Width="75" Click="btnExit_Click"/> 
       </Grid> 
      </TabItem> 
     </TabControl> 
+0

Во-первых, у вас есть 'DataGrid' в' Grid'. Первым элементом является элемент управления другим элементом управления компоновкой. Не смешивайте это. o) Во-вторых, что вы точно подразумеваете под * «Я не знаю, почему я не могу выбрать datagrid во втором datagrid.» *? Разве вы не можете выбрать строки или не получить второй фокус? – DHN

+0

К сожалению, я ввожу неправильное слово. Я хочу сказать, что я не могу выбрать строку во втором datagrid **. @DHN – CYB

ответ

2

Наконец, я обнаружил, что я кладу в UserViewSource = ((CollectionViewSource)(this.FindResource("UserViewSource"))); сСт файл в функции Window_Loaded. Тогда это работает. Первоначально я положил его в функцию Tab_selectionchanged.

Смежные вопросы