저는 실버 라이트가 처음이에요. 이것이 확실한 것인지 아닌지 잘 모르겠습니다.DataGrid에서 프로그래밍 방식으로 제어를 활성화/비활성화하는 적절한 방법은 무엇입니까?
첫 번째 열이 "재정의 됨"이라는 확인란의 첫 번째 열인 DataGrid가 있습니다. 두 번째 열 ("ShowDetails")은 사용자가 행을 확장하여 중첩 된 격자를 볼 수있게 해주는 버튼입니다. "재정의"확인란을 선택하지 않으면 "ShowDetails"버튼을 비활성화해야합니다.
처음 표시 될 때 화면이 올바른 것입니다. 초기 "재 지정"확인란의 선택을 취소하면 "ShowDetails"버튼이 비활성화됩니다. "Overridden"확인란을 선택하면 "overriddenFlag"가 변경되지만 'ShowDetails'버튼은 'enabled'로 변경되는 대신 비활성화 상태로 유지됩니다.
"ShowDetails"단추의 "IsEnabled"플래그가 변경되지 않는 이유는 무엇입니까? 여기
는 XAML <sdk:DataGrid.Columns>
<sdk:DataGridTemplateColumn Header="Overridden">
<sdk:DataGridTemplateColumn.CellTemplate>
<DataTemplate>
<CheckBox IsChecked="{Binding OverriddenFlag,Mode=TwoWay}"
Click="Overridden_Click"
HorizontalAlignment="Center"
/>
</DataTemplate>
</sdk:DataGridTemplateColumn.CellTemplate>
</sdk:DataGridTemplateColumn>
<sdk:DataGridTemplateColumn>
<sdk:DataGridTemplateColumn.CellTemplate>
<DataTemplate>
<Button x:Name="ShowDetails"
FontWeight="bold" FontSize="12"
Content="+" Click="ShowDetails_Click"
IsEnabled="{Binding OverriddenFlag, Mode=OneWay}"
/>
</DataTemplate>
</sdk:DataGridTemplateColumn.CellTemplate>
</sdk:DataGridTemplateColumn>
프로그래밍 방식으로 데이터 그리드에서 버튼을 활성화/비활성화하는 적절한 방법은 무엇입니까에서 2 열입니까?
스택 오버플로에서 INotifyProperty와 같은 버튼을 숨기는 변환기 (확인란을 선택했을 때 단추가 표시되지 않음)와 같은 다양한 작업을 시도했습니다. FindName()과 같은 Overridden_Click fct에서 작업을 시도했지만 성공하지 못했습니다.
트릭을했다가, 감사합니다! 당신은 정말로 내 학습 곡선을 도왔습니다. 정말 고맙습니다. – Karen
FYI : 다른 사람이 동일한 곤경에 빠진 경우를 대비하여 마지막 의견이 하나 있습니다. INotifyPropertyChanged를 사용하여 시도했지만 작동하지 않았습니다. 나는 mode = TwoWay가 없다고 생각한다. 퍼즐 조각을 제자리에 떨어 뜨리는 데 도움을 주신 것에 대해 다시 한 번 감사드립니다. – Karen