Таблицы WPF с одинаковым содержимым, разными привязками - PullRequest
0 голосов
/ 12 декабря 2018

В моем Tabcontrol первое содержимое tabitem отличается от остальных, оно добавляется через XAML, работает нормально.Однако все остальные добавляются из viewmodel (при загрузке элемента управления) на основе количества пользовательских коллекций, и эти вкладки имеют одинаковый дизайн, но разделяют разные данные, проблема в том, что все данные вкладок одинаковы, а именно наборы споследние данные в коллекции.(За исключением текста заголовка вкладки, все в порядке).Таблицы, которые используют один и тот же контент, создаются следующим образом:

Шаблон контента использует шаблон данных, который имеет привязку для текстовых блоков / текстовых полей.

<ContentControl Content="{Binding}" x:Key="ResourceTabItemContent" ContentTemplate="{StaticResource ResourceBookingDataTemplate}"/>

Затем все это используется в управляющей нагрузке viewmodel следующим образом:

foreach (var item in MyCollection)
      {
        DXTabItem dxti = new DXTabItem();
        dxti.Content =       (ContentControl)tabmain.FindResource("ResourceTabItemContent");
        dxti.DataContext = item;
        dxti.Header = $"{item.Order} - {item.Name}";                         
        tabmain.InsertTabItem(dxti, tabmain.Items.Count);
      }

Так как же увидеть правильные данные на каждой вкладке, а нете же, спасибо за идеи!

1 Ответ

0 голосов
/ 12 декабря 2018

Набор x:Shared=false для ContentControl:

<ContentControl Content="{Binding}" x:Key="ResourceTabItemContent" x:Shared="false" ContentTemplate="{StaticResource ResourceBookingDataTemplate}"/>

Из MSDN:

В WPF по умолчанию установлено условие x: Shared для ресурсов.Это условие означает, что любой данный запрос ресурса всегда возвращает один и тот же экземпляр.

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