2009-10-15 5 views
2

Я пытаюсь связать поле со списком с некоторыми данными. Проблема заключается в том, что у меня есть данные в поле со списком, как это:WPF Combo Box Binding

      <ComboBox> 
           <ComboBoxItem>Item 1</ComboBoxItem> 
           <ComboBoxItem>Item 2</ComboBoxItem> 
           <ComboBoxItem>Item 3</ComboBoxItem> 
           <ComboBoxItem>Item 4</ComboBoxItem> 
           <ComboBoxItem>Item 5</ComboBoxItem> 
          </ComboBox> 

, когда форма с поля со списком загрузки У меня есть ресурс загружен, который имеет Int, что я хочу, чтобы привязать его к этой комбинации коробка. Итак, если это int 1, я хочу, чтобы поле со списком отображало Item 1 и т. Д., И когда я меняю элемент в поле со списком, я хочу соответствующим образом обновить int.

Есть ли способ связать этот ресурс с полем со списком, чтобы достичь этого?

Спасибо заранее

ответ

7

Вот полный пример XAML о том, как это сделать:

<Window x:Class="WpfApplication1.Window1" 
    xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" 
    xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" 
    xmlns:sys="clr-namespace:System;assembly=mscorlib" 
    Title="Window1"> 
    <Window.Resources> 
     <sys:Int32 x:Key="TheIndex">2</sys:Int32> 
    </Window.Resources> 
    <ComboBox SelectedIndex="{Binding Source={StaticResource TheIndex}, Mode=OneWay}"> 
     <ComboBoxItem>One</ComboBoxItem> 
     <ComboBoxItem>Two</ComboBoxItem> 
     <ComboBoxItem>Three</ComboBoxItem> 
     <ComboBoxItem>Four</ComboBoxItem> 
    </ComboBox> 
</Window> 

Обратите внимание на следующее:

  • пространство имен sys XML объявляется как отображение к пространству имен CLR System в mscorlib монтаж
  • Binding на SelectedIndex установлен в OneWay, потому что она по умолчанию TwoWay, что не имеет смысла, когда связывание непосредственно к ресурсу
+0

Привет Кент Спасибо за Ваш ответ Я fearly новый для МОФОВ программирования и мне нужно некоторое более подробное объяснение для отправленного вами спэссета. Как объявить 2 и как это связано с моим ресурсом? Еще раз спасибо – Taonias

+0

@Taonias: проблем нет. Я обновил свой пост с полным рабочим примером. –

Смежные вопросы