私は変なバグがあり、いくつかのレスキューが必要です。 私はWPFで複数の型の複数の列を持つグリッドを持っています。WPFの垂直スクロールバーで再生するときに有効になるDatepicker列
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 enabled 1
をし、別の日付ピッカーが有効になります:DatePicker enabled 2
はあなたに起こることができるものの任意のアイデアをお持ちですか?
ありがとうございました。
偉大な答えのようです、私が試してみたとできるだけ早く答えでそれを設定します。どうもありがとう – goatman