0

このコードを使用してButton、 のすべての行にを作成しようとしています:DataGrid

<DataGrid SelectionMode="Single" ItemsSource="{Binding Path=SettingsCollection}" SelectedItem="{Binding SelectedSettings, Mode=TwoWay}" AutoGenerateColumns="False" Height="Auto" HorizontalAlignment="Stretch" Margin="5" Name="dataGrid1" VerticalAlignment="Stretch" Width="Auto" Grid.Row="1" CanUserAddRows="False">
    <DataGrid.Columns>
         <DataGridTemplateColumn Header="" CanUserResize="False" Width="38*" >
              <DataGridTemplateColumn.CellTemplate>
                   <DataTemplate>
                       <Button Command="{Binding ShowAdvancedSettings}" Name="btn" Visibility="Visible" Height="Auto" Width="Auto"  />
                   </DataTemplate>
              </DataGridTemplateColumn.CellTemplate>
         </DataGridTemplateColumn>
    </DataGrid.Columns>
</DataGrid>

バインディングが機能しません。私が間違っていることは何ですか?

4

1 に答える 1

0

コマンド'ShowAdvancedSettings'が1-パブリック2-データグリッドのビューモデルではなく、データグリッドに表示されているオブジェクトを表すクラスに配置されていることを確認します。つまり、SettingsCollectionがある場所ではありません。

たとえばDataGridViewModel、プロパティを 持つというクラスがありますList<DataItemClass> SettingsCollection;

プロパティShowAdvancedSettingsはクラス内にある必要がありますDataItemClass

于 2013-03-05T15:03:33.187 に答える