[英]Why C# WPF button binding command won't change view after using simple injector?
[英]C# Wpf simple listviewitem event binding won't work
我有一个非常简单的列表视图,其中 itemsource 绑定到一个集合。 然后我有一个委托命令(来自 Prism),当我点击其中一个项目时我想调用它。 不幸的是,itemsource 中的绑定不起作用。 当我直接在列表视图中设置attachedcommandbehavior 时,它会调用该方法。
也许有人可以帮忙。
<ListView ItemsSource="{Binding col}">
<ListView.ItemContainerStyle>
<Style>
<Setter Property="c:CommandBehavior.Event" Value="PreviewMouseDown"/>
<Setter Property="c:CommandBehavior.Command" Value="{Binding Command}"/>
</Style>
</ListView.ItemContainerStyle>
</ListView>
public ObservableCollection<string> col { get; set; }
public ICommand Command => _Command = _Command ?? new DelegateCommand<object>(e => cmd(e));
private ICommand _Command;
public void cmd (object e)
{
MessageBox.Show("Clicked");
}
public ViewModelCustom()
{
col = new ObservableCollection<string>();
col.Add("a");
col.Add("b");
col.Add("C");
}
谢谢
一种方法是在 ViewModel 中创建属性并跟踪 set 方法而不是命令中的更改
public T SelectedItem
{
get { return _selectedItem; }
set
{
_selectedItem = value;
// User selected another element here, do what you want
}
}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.