나는 이상한 버그가있어서 구조가 필요합니다. WPF에서 여러 유형의 여러 열이있는 표가 있습니다.WPF에서 세로 스크롤 막대로 재생할 때 날짜 피커 열이 활성화됩니다.
private IEnumerable<DataGridRow> GetDataGridRows(DataGrid grid)
{
//return the Datagrid Rows
}
public void SetChangeLockState(bool isUnlocked)
{
IEnumerable<DataGridRow> _rows = this.GetDataGridRows(this._mainDatagrid);
foreach (DataGridColumn _column in this._mainDatagrid.Columns)
{
if (_column.GetType() != typeof(DataGridTemplateColumn)) continue;
foreach (DataGridRow _row in _rows)
{
FrameworkElement frameworkElement = _column.GetCellContent(_row);
if (frameworkElement != null) frameworkElement.IsEnabled = !isUnlocked;
}
}
}
: 내 변수 중 하나의 특정 상태에 내 그리드의 DatePickers을 해제하는 방법을 뒀다
FrameworkElementFactory dateFactory = new FrameworkElementFactory(typeof(DatePicker));
...
column = new DataGridTemplateColumn { CellTemplate = new DataTemplate
{ VisualTree = dateFactory } };
this._mainDatagrid.Columns.Add(column);
: 하나 이러한 열 몇 내가 FrameElementFactory를 통해 생성 DatePickers 있습니다
문제는 내가 그리드의 엘리베이터로 놀고있을 때, Datepicker가 아무 이유없이 계속 켜고 끌 수 있다는 것입니다. 예 : 내 모든 DatePicker가 활성화되어 있습니다. 세로 스크롤 막대를 가지고 놀고 있어도 문제 없습니다.
내 모든 DatePickers는 사용할 수 없으며 세로 스크롤 막대를 가지고 놀고 있습니다. 1 DatePicker에서 갑자기 수 있도록 나타납니다 : 나는 스크롤을 가지고 노는 유지하고 DatePicker enabled 1
을 다른 날짜 선택기가 활성화 갈 것입니다 : DatePicker enabled 2
당신에게 일어날 수있는 것의 어떤 생각이 있나요?
도움 주셔서 감사합니다.
좋은 해답이 될 것 같다, 내가 밖으로 시도하고 최대한 빨리 대답에 그것을 설정합니다. 고마워. – goatman