none
WPF Binding RRS feed

  • Вопрос

  • <Window x:Class="WpfDataBind.MainWindow"
            xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
            xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
            xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
            xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
            xmlns:local="clr-namespace:WpfDataBind"
            Title="MainWindow" Height="350" Width="525">

        <Grid>
            <DataGrid ItemsSource="{Binding}"  Name="mDataGrid" AutoGenerateColumns="False">
                <DataGrid.Resources>
                    <DataTemplate x:Key="qqq">
                        <CheckBox IsChecked="{Binding Path=S2, Mode=TwoWay}" />
                    </DataTemplate>
                </DataGrid.Resources>
                <DataGrid.Columns>
                    <DataGridTextColumn Binding="{Binding S1}"/>
                    <DataGridTemplateColumn CellTemplate="{StaticResource qqq}" />
                </DataGrid.Columns>
            </DataGrid>
        </Grid>
    </Window>

    public partial class MainWindow : Window
        {
            List<C> lc;
            public MainWindow()
            {
                InitializeComponent();
                lc = new List<C>();
                lc.Add(new C { S1 = "q", S2 = true });
                lc.Add(new C { S1 = "a", S2 = false });
                lc.Add(new C { S1 = "z", S2 = true });
                mDataGrid.ItemsSource = lc;
            }
        }

        class C
        {
            string s1;
            bool s2;
            public string S1
            {
                get
                {
                    return s1;
                }
                set
                {
                    s1 = value;
                }
            }
            public bool S2
            {
                get
                {
                    return s2;
                }
                set
                {
                    s2 = value;
                }
            }
        }


    Но если поставить или убрать галку в чекбоксе, то эти изменения не отражаются в коллекции lc.
    В чем тут дело?


    • Изменено lebedunn 29 сентября 2016 г. 18:56
    29 сентября 2016 г. 18:53

Ответы