小编rou*_*lee的帖子

wpf 4.0 datagrid模板列双向绑定问题

我正在使用wpf 4.0中的datagrid.这有一个包含复选框的TemplateColumn.复选框的IsChecked属性通过绑定设置.

问题是,即使我明确指定绑定模式为TwoWay,它只能在一个方向上工作.

我必须提到,相同的代码在.net 3.5中与wpf工具包中的datagrid完美配合.

请查看.xaml和.cs内容.

提前致谢,

罗兰

<Window.Resources>
    <DataTemplate
        x:Key="IsSelectedColumnTemplate">
        <CheckBox
            IsChecked="{Binding Path=IsSelected, Mode=TwoWay}"
            />
    </DataTemplate>
</Window.Resources>
<Grid>
    <DataGrid
        x:Name="dataGrid"
        AutoGenerateColumns="false"
        CanUserAddRows="False"
        CanUserDeleteRows="False"
        HeadersVisibility="Column"
        ItemsSource="{Binding}"
        >
        <DataGrid.Columns>
            <DataGridTemplateColumn 
                Header="Preselected"
                x:Name="myIsSelectedColumn" 
                CellTemplate="{StaticResource IsSelectedColumnTemplate}"
                CanUserSort="True"
                SortMemberPath="Orientation"
                Width="Auto"
                />
        </DataGrid.Columns>
    </DataGrid>
</Grid>
Run Code Online (Sandbox Code Playgroud)

和相关的.cs内容:

public partial class MainWindow : Window
{
    public MainWindow()
    {
        InitializeComponent();

        ObservableCollection<DataObject> DataSource = new ObservableCollection<DataObject>();
        DataSource.Add(new DataObject());    
        DataSource.Add(new DataObject());          
        dataGrid.ItemsSource = DataSource;
    }
}

public class DataObject : DependencyObject
{
    public bool IsSelected
    {
        get { return (bool)GetValue(IsSelectedProperty); …
Run Code Online (Sandbox Code Playgroud)

wpf binding wpfdatagrid c#-4.0

15
推荐指数
2
解决办法
2万
查看次数

标签 统计

binding ×1

c#-4.0 ×1

wpf ×1

wpfdatagrid ×1