У меня есть список элементов в пользовательском контроле, который заполняется XML-файлом.
<Machines xmlns="">
<Machine Name="Prod1" IP="192.168.1.200" isDefault="true" InstanceName="sql08" />
<Machine Name="Prod2" IP="192.168.1.101" />
<Machine Name="Test1" IP="192.168.1.103" />
<Machine Name="Test2" IP="192.168.1.104" />
</Machines>
Я хочу привязать выбранный элемент списка к компьютеру, который имеет атрибут isDefault = true.
Мои текущие xmldataprovider и ItemTemplate перечислены ниже вместе с моей разметкой ListBox.Я не был уверен, нужно ли мне делать какую-либо привязку xpath в табличке данных или мне следует создать явный стиль с триггером для этой задачи?Или если какой-либо из этих подходов сработает?Одна из вещей, которую я не могу понять, это то, как я могу связать атрибут, который существует только в одном узле моего файла.
<XmlDataProvider x:Key="DataList" Source="XML\ListboxSettings.xml" XPath="Machines/Machine"/>
<DataTemplate x:Key="MachineDataTemplate">
<TextBlock Text="{Binding XPath=@Name}" ToolTip="{Binding XPath=@IP}" />
</DataTemplate>
<ListBox Name="MerlinsListbox" Margin="5" Height="{Binding Height, ElementName=border}" Background="#FF252525" FontFamily="Consolas" FontSize="16" Foreground="#FFFBF9F9"
ItemsSource="{Binding}"
ItemTemplate="{StaticResource MerlinDataTemplate}"
IsSynchronizedWithCurrentItem="true"/>