1
XAML 또는 ViewModel에서 DataGrid에 셀 포커스를 설정하려고합니다.xaml 또는 ViewModel의 행에 포커스를 설정하십시오.
속성이 SelectedItem으로 바인딩되어 있습니다. 바운드 속성은 그리드에서 선택이 변경되고 셀에 포커스가있을 때 업데이트됩니다. 그러나 뷰 모델에서 SelectedItem을 변경하면 행이 셀이 아닌 포커스가됩니다.
SelectedItem이 변경되면 어떻게 셀을 포커스 할 수 있습니까?
이것을 XAML 올바른 항목을 선택할 수 난 그냥 데이터 그리드에 필요한<DataGrid SelectedItem="{Binding SelectedHotel}" ItemsSource="{Binding HotelsList}" AutoGenerateColumns="False" CanUserReorderColumns="False" CanUserAddRows="False">
<DataGrid.Columns>
<DataGridTemplateColumn Width="350" Header="Hotel" d:IsLocked="True">
<DataGridTemplateColumn.CellTemplate>
<DataTemplate>
<Label Content="{Binding Name}"></Label>
</DataTemplate>
</DataGridTemplateColumn.CellTemplate>
<DataGridTemplateColumn.CellEditingTemplate>
<DataTemplate>
<Grid>
<TextBox Text="{Binding Name, Mode=TwoWay, UpdateSourceTrigger=PropertyChanged}"></TextBox>
</Grid>
</DataTemplate>
</DataGridTemplateColumn.CellEditingTemplate>
</DataGridTemplateColumn>
<DataGridTemplateColumn Header="">
<DataGridTemplateColumn.CellTemplate>
<DataTemplate>
<Grid>
<Grid.RowDefinitions>
<RowDefinition Height="*" />
</Grid.RowDefinitions>
<Grid.ColumnDefinitions>
<ColumnDefinition Width="*" />
<ColumnDefinition Width="*" />
</Grid.ColumnDefinitions>
<Button Content="Save" Command="{Binding DataContext.SaveEditsCommand, RelativeSource={RelativeSource FindAncestor, AncestorType={x:Type Window}}}" />
<Button Grid.Column="1" Content="Delete" Command="{Binding DataContext.DeleteCommand, RelativeSource={RelativeSource FindAncestor, AncestorType={x:Type Window}}}" />
</Grid>
</DataTemplate>
</DataGridTemplateColumn.CellTemplate>
</DataGridTemplateColumn>
</DataGrid.Columns>
</DataGrid>
. 목록의 항목을 클릭하면이 항목에 배경색이 적용됩니다. 이 동작을 프로그래밍 방식으로 설명하려고합니다.
감사
내 질문이 확장되었습니다. 당신의 대답은 이미했던 것과 동일하지만, UI에서 행동하지 않았습니다. – StrouMfios
@StrouMfios updated 대답 –