Я задавал этот вопрос ранее и не получил ответа, но теперь у меня есть более подробная информация.
По сути, я хочу программно отобразить значок сортировки столбца в столбце таблицы данных wpf.
У меня есть следующий код для этого:
private void dtgMain_DataContextChanged(object sender, DependencyPropertyChangedEventArgs e)
{
dtgMain.Columns[0].SortDirection = ListSortDirection.Ascending;
}
Кажется, это устанавливает порядок сортировки столбца, но когда сетка нарисована, значок не отображается.
Когда я добавляю окно сообщения в метод, оно работает нормально.Мой вопрос двоякий.Почему окно сообщения заставляет метод работать?И как я могу заставить его работать без использования окна сообщений?
Этот метод работает с окном сообщений в нем:
private void dtgMain_DataContextChanged(object sender, DependencyPropertyChangedEventArgs e)
{
MessageBox.Show("Here");
dtgMain.Columns[0].SortDirection = ListSortDirection.Ascending;
}
edit Вот метод, который устанавливаетdatacontext of datagrid
public void processLoad(string response)
{
XmlDataProvider provider = new XmlDataProvider();
if (provider != null)
{
System.Xml.XmlDocument doc = new System.Xml.XmlDocument();
doc.LoadXml(response);
provider.Document = doc;
provider.XPath = "/moo/response/data/load/panel";
dtgMain.DataContext = provider;
}
}
Пожалуйста, дайте мне знать, если вам нужна дополнительная информация.