Проблема со связыванием свойства в заголовке сетки данных - PullRequest
1 голос
/ 03 июля 2011

.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>

В заголовке у меня есть элемент управления textBox, и я пытаюсь связать свойство NumberFilterValue из класса модели представления.

Просмотр модели:

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

Проблема в том, что эта привязка не работает. Свойство NumberFilterValue по-прежнему пусто.

В чем корень этой проблемы и как ее можно решить? Спасибо за сотрудничество.

1 Ответ

0 голосов
/ 05 июля 2011

Если вы уверены, что имеете в виду OneWayToSource, а не OneWay, вам следует прочитать это: Привязка OneWayToSource кажется неработоспособной в .NET 4.0

...