DataGridTemplateColumn
ヘッダーに CheckBox を表示するために を使用しています。チェックボックスは、対立遺伝子細胞が存在するかどうかを表示し、checked
すべての細胞をチェックする (チェックを外す) ために使用されます。
XAML:
<DataGridTemplateColumn>
<DataGridTemplateColumn.Header>
<CheckBox IsChecked="{Binding Path=DataContext.AreAllVehiclesChecked, RelativeSource={RelativeSource FindAncestor, AncestorType=UserControl, AncestorLevel=1}}" Command="{Binding Path=DataContext.ChangeAllItemsSelectedCommand, RelativeSource={RelativeSource FindAncestor, AncestorType=UserControl,AncestorLevel=1}}" IsThreeState="False" />
</DataGridTemplateColumn.Header>
<DataGridTemplateColumn.CellTemplate>
<DataTemplate>
<CheckBox IsChecked="{Binding IsSelected, Mode=TwoWay}" Command="{Binding Path=DataContext.ChangeItemSelectionCommand, RelativeSource={RelativeSource FindAncestor, AncestorType=UserControl,AncestorLevel=1}}" CommandParameter="{Binding }"></CheckBox>
</DataTemplate>
</DataGridTemplateColumn.CellTemplate>
</DataGridTemplateColumn>
エラーメッセージ:
System.Windows.Data エラー: 40: BindingExpression パス エラー: 'IsSearchSelected' プロパティが 'object' ''CheckBox' (Name='')' に見つかりません。BindingExpression:Path=IsSearchSelected; DataItem='CheckBox' (Name=''); ターゲット要素は 'CheckBox' (Name='') です。ターゲット プロパティは 'IsChecked' (タイプ 'Nullable`1') です
System.Windows.Data エラー: 40: BindingExpression パス エラー: 'CreateProjectFromSelectedVehiclesDemandedCommand' プロパティが 'object' ''CheckBox' (Name='')' に見つかりません。BindingExpression:Path=CreateProjectFromSelectedVehiclesDemandedCommand; DataItem='CheckBox' (Name=''); ターゲット要素は 'CheckBox' (Name='') です。ターゲット プロパティは 'Command' (タイプ 'ICommand') です。
地獄のように私を悩ませているのは、すべての単一セルのCheckBoxを備えたDataTemplateがうまく機能していることです。プロパティとコマンドが正しくバインドされています。機能しないのは、ヘッダーのチェックボックスです。別のプロジェクトで(まったく同じ構造を)正しく実行しています。
私が間違っていることはありますか?
更新:今朝(スヌープなどを使用しているため)もう一度試してみましたが、コードを変更せずに突然動作しました(再び)。ここでのスタックオーバーフローのベストプラクティスは何ですか - >質問を削除しますか?
私を助けようとしてくれたすべての人にもう一度感謝します!