MVVM 패턴을 사용하고 있습니다. 내 아이템을 묶었 고 DataGrid에서 행을 선택하면 편집 버튼 만 표시하려고합니다. WPF에서는 트리거를 사용하는 것이 가능하지만 Silverlight에서는 트리거가 없습니다. TemplatedParent 바인딩을 시도했지만이 경우 TemplatedParent가 무엇인지 확실하지 않습니다. Silverlight에는 RelativeSource 조상이 없습니다. 이 시점에서 나는 ... 뒤에 코드를 사용하여 솔루션을 보는거야Silverlight DataGrid에서 행을 선택하면 DataTemplate 내의 요소 가시성을 어떻게 변경합니까?
<data:DataGrid.Columns>
<data:DataGridTemplateColumn IsReadOnly="True" Header="Name" Width="300">
<data:DataGridTemplateColumn.CellTemplate>
<DataTemplate>
<Grid>
<TextBlock x:Name="textBlock" Text="{Binding Name, Mode=OneWay}" VerticalAlignment="Center" Margin="4,4,0,4"/>
<Button Margin="1,1,4,1" HorizontalAlignment="Right" VerticalAlignment="Center" Padding="7,4" Content="Edit" />
</Grid>
</DataTemplate>
</data:DataGridTemplateColumn.CellTemplate>
</data:DataGridTemplateColumn>
</data:DataGrid.Columns>
옵션 1과 비슷한 것으로갔습니다. 항목의 PagedCollectionView가있는 항목 뷰모 델에 IsSelected 속성을 추가했습니다. SelectionChanged 이벤트를 사용하여 e.RemovedItems를 반복하고 선택한 플래그를 지 웠습니다. e.AddedItems와 동일합니다. 내 기본보기 모델에 SelectedItem을 추가 할 수 있습니다. 누구든지 그 경로를 간다면 가장 쉬운 방법은 이전 항목에 SelectedItem의 setter에서 깃발을 지우고 새 SelectedItem에 플래그를 설정하는 것입니다 생각합니다. – miketrash