0
我試圖訪問SelectedItem以及命令綁定到ItemsControl中的嵌套列表框。以下是簡化的XAML。如何獲取對嵌套列表框中的SelectedItem的訪問
<ItemsControl ItemsSource="{Binding Collection}"
ItemTemplate="{StaticResource Partials}"
</ItemsControl>
<DataTemplate x:Key="Partials">
<ListBox ItemsSource="{Binding ListBoxItems}"
SelectedItem="{Binding SelectedItem}" >
<ListBox.InputBindings>
<KeyBinding Key="Delete" Command="{Binding DeleteSelectedItemCommand/>
</ListBox.InputBindings>
</ListBox>
</DataTemplate>
這是我在VM(簡體)
private void FillList()
{
//Populate the list
Collection.Add(Data);
var ListBoxViewSource = new CollectionViewSource { Source = ListBoxDataSource};
Collection.ListBoxItems= ListBoxViewSource.View;
}
private ObservableCollection<Scene> _collection= new ObservableCollection<Scene>();
public ObservableCollection<Scene> Collection
{
get { return _collection; }
set
{
if (value != _collection)
{
_collection= value; RaisePropertyChanged();
}
}
}
private string _selectedItem;
public string SelectedItem
{
get { return _selectedItem; }
set { _selectedItem= value; RaisePropertyChanged(); }
}
public RelayCommand DeleteSelectedItemCommand { get; private set; }
private void DeleteSelectedItem()
{
SourceData.Remove(SelectedItem);
}
怎樣才能獲得ListBox中的SelectedItem的價值?
您是否在輸出窗口中收到任何綁定錯誤? – user1672994
我認爲不需要像這樣聲明一個DataTemplate。 –
你的問題不清楚。請提供一個很好的[mcve],它可以可靠地再現您遇到的任何問題,並精確描述該代碼的功能以及您希望它執行的操作。詢問如何讓綁定工作並不會有幫助,除非您確切地說明他們在「工作」時會做什麼。 –