我正在修改我的簡單的十六進制編輯器,練習使用我最近在WPF中學習的數據綁定。我不確定我在這裏做錯了什麼。我在做什麼我的ItemsControl和數據綁定錯了?
據我所知,對於集合「backend」(從ObservableCollection繼承)中的每個字節,我的ItemsControl應該在資源下應用DataTemplate。這個模板只是一個綁定到值轉換器的文本框。所以我期待看到一排文本框,每個文本框都包含一個字節的字符串表示。當我使用這個XAML時,我所得到的只是一行不可編輯的文本,據我所知可以不使用文本框。我究竟做錯了什麼?
我在下面粘貼了我的XAML,並刪除了不相關的部分(菜單聲明,模式等)。
<Window ...>
<Window.Resources>
<local:Backend x:Key="backend" />
<local:ByteConverter x:Key="byteConverter" />
<DataTemplate DataType="byte">
<TextBox Text="{Binding Converter={StaticResource byteConverter}}" />
</DataTemplate>
</Window.Resources>
<StackPanel>
<ItemsControl ItemsSource="{Binding Source={StaticResource backend}}">
<ItemsControl.ItemsPanel>
<ItemsPanelTemplate>
<WrapPanel />
</ItemsPanelTemplate>
</ItemsControl.ItemsPanel>
</ItemsControl>
</StackPanel>
</Window>
嗯。我一讀完你的答案,我就做了這兩個,但它仍然無法正常工作。 – Joel 2010-06-01 21:19:21
您的修訂版本會訣竅,謝謝。盡我所知,您的代碼和我的代碼之間唯一重要的區別是Path =。我不確定那是幹什麼的,谷歌這段時間有點困難。我也不知道如果沒有包裝類,雙向綁定不起作用,這也有很大幫助。 – Joel 2010-06-03 00:55:39