0

xaml コード:

<DataTemplate x:Key="GridCheckBox">
    <StackPanel Orientation="Horizontal">
        <CheckBox IsChecked="{Binding stat, UpdateSourceTrigger=PropertyChanged}" Checked="CheckBox_Checked" Unchecked="UnCheckBox_Checked" HorizontalAlignment="Center" />
    </StackPanel>
</DataTemplate>

<xcdg:DataGridControl x:Name="_dataGrid" AllowDrag="False">
    <xcdg:DataGridControl.View>
        <xcdg:TableflowView FixedColumnCount="1" />
    </xcdg:DataGridControl.View>

    <xcdg:DataGridControl.Columns>
        <xcdg:Column FieldName="." Title="Select" Width="50" IsMainColumn="True"
                     CellContentTemplate="{StaticResource GridCheckBox}"            
                     GroupValueTemplate="{StaticResource GridCheckBox}"/>
    </xcdg:DataGridControl.Columns>
</xcdg:DataGridControl>

データグリッドを超えてデータを埋める

 DataGridCollectionView collectionView = new DataGridCollectionView(dt.DefaultView);
          collectionView.GroupDescriptions.Add(new DataGridGroupDescription("filter"));
          _dataGrid.ItemsSource = collectionView;

他のすべての詳細は問題なくバインドされますが、チェックボックスはバインドされません。誰かが解決するのを手伝ってくれますか?

4

2 に答える 2

1

前の回答へのコメントで、stat=1 チェックボックスをオンにする必要があると述べています。ブール値でない場合statは、プロパティにバインドできるようにコンバーターを使用する必要がありIsCheckedます。

コンバーターは次のように単純にする必要があります。

  public class StatConverter : IValueConverter
  {
    #region IValueConverter Members

    public object Convert(object value, Type targetType, object parameter, System.Globalization.CultureInfo culture)
    {
      if (value is int)
      {
        return (int)value == 1;
      }

      return false;
    }

    public object ConvertBack(object value, Type targetType, object parameter, System.Globalization.CultureInfo culture)
    {
      throw new NotImplementedException();
    }

    #endregion
  }
于 2015-10-12T12:07:06.233 に答える
0

IsChecked-Bindingで、DataContext がある場所に/を提供してみてRelativeSourceください。WindowUserConrolt

IsChecked-Property のバインディングは次のようになります。

IsChecked="{Binding DataContext.stat, UpdateSourceTrigger=PropertyChanged, RelativeSource={RelativeSource FindAncestor, AncestorType=Window}"
于 2015-10-12T11:32:59.200 に答える