Как решить проблему связывания WPF в заголовке DataGrid? - PullRequest
1 голос
/ 30 мая 2019

Я понял, как использовать привязку данных в заголовке DataGrid.

<DataGridTextColumn.Header>
   <TextBlock Text="{Binding Path=DataContext.BaseCurrencyName, 
   RelativeSource={RelativeSource FindAncestor, AncestorType={x:Type DataGrid}}}"/>
</DataGridTextColumn.Header>

В моем приложении WPF используется TabControl.Если моя начальная вкладка - это вкладка, на которой появляется ссылка на DataGrid, то проблем нет.Если другая вкладка является начальной вкладкой, то появляется следующее сообщение и заголовок будет пустым.

System.Windows.Data Error: 4 : Cannot find source for binding with reference 'RelativeSource FindAncestor, AncestorType='System.Windows.Controls.DataGrid', AncestorLevel='1''. BindingExpression:Path=DataContext.BaseCurrencyName; DataItem=null; target element is 'TextBlock' (Name=''); target property is 'Text' (type 'String')

Сообщение появляется после выхода из OnStartup в App.xaml.cs.На этом этапе BaseCurrencyName уже имеет значение.И, как я уже сказал, если моей стартовой вкладкой является вкладка с DataGrid, то проблем нет.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...