Я застрял в попытке повторно использовать код макета для своего приложения WPF.Повторное использование макета WPF XAML с привязками?
Я пытаюсь создать редактор XML, который позволяет открывать несколько файлов (через вкладки).
Моя ситуация выглядит следующим образом:
<TabControl>
<TabItem>
// Layout XAML with various {Binding} sources (File 1)
</TabItem>
<TabItem>
// Layout XAML with various {Binding} sources (File 2)
</TabItem>
<TabItem>
// Layout XAML with various {Binding} sources (File 3)
</TabItem>
</TabControl>
Это работает; однако каждый из трех TabItems - это огромный кусок копии & вставляемый код, с измененным только несколькими именами, чтобы избежать дублирования имен.
Я хочу переписать код таким образом, что-то вроде этого можно:
<TabControl>
<TabItem>
// Reference to Template
</TabItem>
<TabItem>
// Reference to Template
</TabItem>
<TabItem>
// Reference to Template
</TabItem>
</TabControl>
И есть шаблон определен где-то в другом месте.
Я попытался с помощью DataTemplate для шаблона, и присвоив каждому TabItem с ContentTemplate, но хотя макет отображается правильно, все {Наручники} были потеряны.
Я много искал в googled, но не смог понять, как я должен приближаться к этому.
Я бы очень признателен за любые ссылки на демонстрации, которые покажут, как добиться привязки без копирования &.
Я также был бы признателен за любые советы по отладке неудачных привязок, кроме попыток выяснить, пока они не работают. (Мне удобно отлаживать C# с помощью отладчика, но не знаю, как проверить материал XAML)
Заранее благодарим!
Что вы имеете в виду, привязки были потеряны? Шаблон данных что-то не удалит строки привязки (см. Каждое использование одного как «ItemTemplate») – BradleyDotNET
У меня есть XmlDataProvider вне TabControl. Внутри TabControl у меня есть такие вещи, как ItemsSource = "{Binding}. Когда я запускаю программу, данные не отображаются на экране, если я использую шаблон. – Brent
@Brent лучше всего обернуть поведение вкладки в его собственная модель представления. – Crono