1

.NET 4,Caliburn Micro。我需要将 textBox、comoboBox 和其他一些控件添加到数据网格标题中,并从这些控件的视图模型类中绑定属性。

所以我尝试使用 HeaderTemplate:

XAML:

<DataGrid ItemsSource="{Binding Calls}"
              AutoGenerateColumns="False">
    <DataGrid.Columns>

        <DataGridTextColumn  IsReadOnly="True"
                             CellStyle="{StaticResource CellStyle}"
                             Binding="{Binding Path=Number}">

            <DataGridTextColumn.HeaderTemplate>
                <DataTemplate>
                    <StackPanel Orientation="Vertical">
                        <TextBlock Text="Cell phone No"/>
                        <TextBox Width="120" 
                                 FontSize="14" 
                                 VerticalAlignment="Center"
                                 BorderThickness="1"
                                 Text="{Binding Path=NumberFilterValue,
                                                Mode=OneWayToSource,
                                                UpdateSourceTrigger=PropertyChanged}"/>
                    </StackPanel>
                </DataTemplate>
            </DataGridTextColumn.HeaderTemplate>
        </DataGridTextColumn>
    </DataGrid.Columns>
</DataGrid>

在标题中我有文本框控件,我尝试从视图模型类绑定属性 NumberFilterValue。

查看模型类:

    public string NumberFilterValue
    {
        get { return _numberFilterValue; }
        set
        {
            _numberFilterValue = value;
            NotifyOfPropertyChange(() => NumberFilterValue);
            FilterCalls();
        }
    }

问题是这个绑定不起作用。属性 NumberFilterValue 仍为空。

这个问题的根源是什么,如何解决?谢谢你的合作。

4

1 回答 1

0

如果您确定您的意思是 OneWayToSource 而不是 OneWay,您应该阅读以下内容: OneWayToSource 绑定似乎在 .NET 4.0 中损坏

于 2011-07-05T13:01:29.087 回答