我有兩個單獨的綁定問題,帶有包含texbox的itemtemplate的列表框。在列表框中綁定項目模板問題
1)一個listbox綁定到一個字符串列表。如何在創建的文本框內顯示每個字符串,並同時允許雙向綁定?沒有指定Path或XPath,不允許雙向綁定。
<ListBox Height="231" HorizontalAlignment="Left" Margin="0,167,0,0" Name="listBoxKeys" VerticalAlignment="Top" Width="219" ItemsSource="{Binding Path=SelectedPlatform.Keys}" SelectedItem="{Binding Path=SelectedKey,Mode=TwoWay,UpdateSourceTrigger=PropertyChanged}">
<ListBox.ItemTemplate>
<DataTemplate>
<StackPanel Orientation="Horizontal" Margin="0,0,0,0">
<TextBox Text="{Binding Mode=OneWay}" Margin="0,0,0,0" Height="Auto" MinWidth="80" MaxWidth="80" HorizontalAlignment="Left" VerticalAlignment="Center"/>
</StackPanel>
</DataTemplate>
</ListBox.ItemTemplate>
</ListBox>
而且2)我使用另一個綁定到一個自定義KeyValuePair類的通用列表的列表框。 itemtemplate包含一個文本框和組合框。文本框文本綁定到每個KeyValuePair對象的key屬性,並將combobox selecteditem綁定到value屬性。我的問題是,我想組合充滿我的viewmodel中聲明的字符串列表,這些列表將在運行時更改。窗口的datacontext是聲明列表的視圖模型。我不知道我需要用來綁定組合框itemssource的確切語法。這裏是我的代碼:
<ListBox Height="393" HorizontalAlignment="Left" Margin="0,72,0,0" Name="listBoxActions" VerticalAlignment="Top" Width="254" ItemsSource="{Binding Path=SelectedPlayer.ControlProfile.MappedActions}">
<ListBox.ItemTemplate>
<DataTemplate>
<StackPanel Orientation="Horizontal" Margin="0,0,0,0">
<TextBox Text="{Binding Key, Mode=TwoWay,UpdateSourceTrigger=LostFocus}" Margin="10,0,0,0" Height="Auto" MinWidth="80" MaxWidth="80" HorizontalAlignment="Left" VerticalAlignment="Center"/>
<ComboBox Margin="10,0,0,0" Height="Auto" MinWidth="80" MaxWidth="80" HorizontalAlignment="Left" VerticalAlignment="Center" ItemsSource="{Binding ?}" SelectedItem="{Binding Value, Mode=TwoWay}"/>
</StackPanel>
</DataTemplate>
</ListBox.ItemTemplate>
</ListBox>
這確實應該是兩個獨立的問題,你會發現有些人能回答一個,而不是其他,所以你可能會得到兩個人回答正確。這會使答案難以標記爲正確。 – 2011-02-03 12:33:52