我已經創建了一個從ListBox派生的自定義控件,並且我有問題將「SelectedItemsList」綁定到它在視圖模型中的相應屬性。多選擇列表框綁定問題
問題:列表框中的所選項目不會將其放入視圖模型中綁定的屬性中。列表框允許多個選擇,但這些都不會進入視圖模型中的列表。
MultiSelectListBox:
public class MultiSelectListBox : ListBox
{
public MultiSelectListBox() { }
public static readonly DependencyProperty SelectedItemsListProperty =
DependencyProperty.Register(
"SelectedItemsList",
typeof(IList),
typeof(MultiSelectListBox),
new PropertyMetadata(default(IList)));
public IList SelectedItemsList
{
get { return (IList) GetValue(SelectedItemsListProperty); }
set { SetValue(SelectedItemsListProperty, value); }
}
}
聲明中MainWindow.xaml:
<local:MultiSelectListBox
DataContext="{StaticResource viewModel}"
DockPanel.Dock="Left"
Visibility="{Binding IsThailandFinal, Converter={StaticResource BoolToVisConverter}, FallbackValue=Visible}"
ItemsSource="{Binding SelectedOutputtapeList}"
SelectionMode="Multiple"
SelectedItemsList="{Binding SelectedOutputTapes, Mode=TwoWay}"
HorizontalAlignment="Right"
Background="DeepSkyBlue"
Foreground="MidnightBlue"
ScrollViewer.VerticalScrollBarVisibility="Visible"
Height="100"
Width="70"
Margin="5"/>
視圖模型(簡體):
public class BTLogFrontEndViewModel : ViewModelBase
{
private List<string> selectedOutputTapes;
public BTLogFrontEndViewModel()
{
selectedOutputTapes = new List<string>();
}
public List<string> SelectedOutputTapes
{
get
{
return selectedOutputTapes;
}
set
{
selectedOutputTapes = value;
OnPropertyChanged("SelectedOutputTapes");
}
}
}
您的ObservableCollection的郵政編碼是否在Visual Studio的輸出窗口中顯示任何綁定錯誤? – 2014-09-24 12:56:53
ObservableCollection是一個.NET集合,無需顯示代碼。 – kformeck 2014-09-24 13:19:01
我的意思是'SelectedOutputTapes'的聲明,而不是ObservableCollection的源代碼。另外,「我有問題」是什麼意思?關於問題陳述你能更精確嗎? – 2014-09-24 13:23:07