Управление множеством перекрывающихся элементов управления в одном окне в XAML - PullRequest
0 голосов
/ 19 сентября 2011

Я работаю над приложением WPF, в котором клиент может выбрать устройство из раскрывающегося списка (ComboBox), а затем отобразить его спецификации в элементе управления DataGrid. Я сделал около 20 различных DataGrids для 20 различных продуктов, и я держал их перекрывающими друг друга (друг над другом) в предопределенной Grid.Row моей разметки Window.xaml, с видимостью каждого набора DataGrid Скрыто, так что при изменении выбора ComboBox я изменяю видимость DataGrid, принадлежащей этому конкретному продукту, выбранному из ComboBox, на MonitorDataGrid.Visibility = Visibility.Visible; в моем коде позади.

Это делает свою работу, но управление макетом окна стало очень трудным и катастрофическим, особенно когда я хочу изменить стили или позиции DataGrids. Мне было интересно, как лучше всего управлять разметкой множества элементов управления в одном окне, занимающем одну и ту же область?

Заранее спасибо.

1 Ответ

2 голосов
/ 19 сентября 2011

Во-первых, у Grid есть свойство AutoGenerateColumns, которое автоматически извлекает столбцы из данного ему списка,

но если у вас есть некоторые дополнительные свойства в сущности, которые вы не хотите показывать, вы можете создавать шаблоны в resourcedictionary и сохранять только ключи в элементах DropDown и изменять шаблон сетки при itemchange

Отображение и скрытие сетки - действительно худший способ сделать это

Также это должно помочь сделать то, что вы хотите

Надеюсь, это поможет

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