【发布时间】:2016-01-15 20:47:03
【问题描述】:
我对 wpf 和 mvvm 很陌生,我希望这有意义...
我有一个 CheckBox 项目的 ListBox。当我选中或取消选中一个项目时,我想知道如何触发一个事件或任何能让我能够将所选项目文本添加到不同 ListBox 的方法。
这是我迄今为止所做的:
XAML:
<ListBox ItemsSource="{Binding Target}" IsEnabled="{Binding IsControlEnabled}">
<ListBox.ItemTemplate>
<DataTemplate>
<CheckBox Content="{Binding TitleName}" IsChecked="{Binding IsChecked}" />
</DataTemplate>
</ListBox.ItemTemplate>
</ListBox>
主视图模型类:
private ObservableCollection<CheckServerItem> _target = new ObservableCollection<CheckServerItem>();
处理复选框事件的小类:
public class CheckServerItem : ViewModelBase
{
private bool _isChecked { get; set; }
private string _Title { get; set; }
public bool IsChecked
{
get { return _isChecked; }
set
{
_isChecked = value;
RaisePropertyChanged("IsChecked");
}
}
public string TitleName
{
get { return _Title; }
set
{
_Title = value;
RaisePropertyChanged("TitleName");
}
}
}
检查由小类正确处理,但我不知道如何让该类调用 Main ViewModel 类中管理其他 ListBox 的方法或我应该调用的方法。
感谢您的帮助!
【问题讨论】:
-
要走的一条路是在视图模型中添加事件以监听复选框
-
另一个 ListBox 也使用相同的 MainViewModel ?
-
@SamTheDev,另一个列表框在 MainViewModel 中。