我正在使用MVVM,VS 2008和.NET 3.5 SP1.我有一个项目列表,每个项目都暴露一个IsSelected属性.我添加了一个CheckBox来管理列表中所有项目的选择/取消选择(更新每个项目的IsSelected属性).一切正常,但是当PropertyChanged事件触发CheckBox的绑定控件时,视图中没有更新IsChecked属性.
<CheckBox
Command="{Binding SelectAllCommand}"
IsChecked="{Binding Path=AreAllSelected, Mode=OneWay}"
Content="Select/deselect all identified duplicates"
IsThreeState="True" />
Run Code Online (Sandbox Code Playgroud)
我的VM:
public class MainViewModel : BaseViewModel
{
public MainViewModel(ListViewModel listVM)
{
ListVM = listVM;
ListVM.PropertyChanged += OnListVmChanged;
}
public ListViewModel ListVM { get; private set; }
public ICommand SelectAllCommand { get { return ListVM.SelectAllCommand; } }
public bool? AreAllSelected
{
get
{
if (ListVM == null)
return false;
return ListVM.AreAllSelected;
}
}
private void OnListVmChanged(object sender, PropertyChangedEventArgs e)
{
if (e.PropertyName == "AreAllSelected")
OnPropertyChanged("AreAllSelected"); …Run Code Online (Sandbox Code Playgroud) 我的MSI安装程序需要运行[SystemFolder]SCHTASKS.EXE.配置CustomAction类型34或类型50 有什么实际区别吗?