我有一个ListView,并设置了ItemContainerStyle,但我仍然遇到同样的问题。请帮忙
<ListView Width="Auto" Height="1" Name="ListViewDetails"
ItemsSource="{Binding DetailsObservableCollection}">
<ListView.ItemContainerStyle>
<Style TargetType="ListViewItem">
<Setter Property="HorizontalContentAlignment" Value="Stretch"/>
<Setter Property="VerticalContentAlignment" Value="Stretch"/>
</Style>
</ListView.ItemContainerStyle>
我不能重复你的错误。很好用。在我看来,您在视图模型的属性中有一些不正确的初始化。参见MVVM ListView的工作示例。
模型:
public class Person
{
public int ID { get; set; }
public string Name { get; set; }
public string Author { get; set; }
public bool IsClickable { get; set; }
}
ViewModel:
public class MainWindowViewModel:INotifyPropertyChanged
{
private ObservableCollection<Person> _persons=new ObservableCollection<Person>();
public ObservableCollection<Person> Persons
{
get
{
return _persons=GetData();
}
set
{
_persons = value;
OnPropertyChanged("Persons");
}
}
public ObservableCollection<Person> GetData()
{
myDataList.Add(new Person() { ID = 1, Name = "Person1", Author = "Author1", Price = "6.7 TL", Catalog = "IT", IsClickable=true});
myDataList.Add(new Person() { ID = 2, Name = "Person2", Author = "Author2", Price = "9.7 TL", Catalog = "IT", IsClickable = false});
myDataList.Add(new Person() { ID = 3, Name = "Person3", Author = "Author3", Price = "11.7 TL", Catalog = "IT", IsClickable = true});
myDataList.Add(new Person() { ID = 2, Name = "Person4", Author = "Author2", Price = "9.7 TL", Catalog = "IT", IsClickable = true});
myDataList.Add(new Person() { ID = 3, Name = "Person5", Author = "Author3", Price = "11.7 TL", Catalog = "IT", IsClickable = false});
if (myDataList.Count > 0)
{
return myDataList;
}
else
return null;
}
RelayCommand _clickCommand = null;
public ICommand SomeClickCommand
{
get
{
if (_clickCommand == null)
{
_clickCommand = new RelayCommand((p) => OnClick(p), (p) => CanClick(p));
}
return _clickCommand;
}
}
private bool CanClick(object obj)
{
return true;
}
private void OnClick(object obj)
{
MessageBox.Show("You clicked:)");
}
#region OnPropertyChanged
public event PropertyChangedEventHandler PropertyChanged;
public void OnPropertyChanged(string propertyName)
{
if (PropertyChanged != null)
PropertyChanged(this, new PropertyChangedEventArgs("propertyName"));
}
#endregion
}
<Window x:Class="WpfApplication1.MainWindow"
...
xmlns:local="clr-namespace:WpfApplication1.ViewModel"
Title="MainWindow" Height="550" Width="525">
<Window.Resources>
<local:MainWindowViewModel x:Key="mainWindowViewModel"/>
</Window.Resources>
<StackPanel DataContext="{StaticResource mainWindowViewModel}">
<ListView ItemsSource="{Binding Persons}">
<ListView.ItemTemplate>
<DataTemplate>
<WrapPanel>
<TextBlock Text="{Binding Name}" Background="LightGreen" Margin="1"/>
<TextBlock Text="{Binding Author}" Background="LightCyan" Margin="1"/>
<TextBlock Text="{Binding TimeGap}" Background="LightCoral" Margin="1"/>
<CheckBox IsChecked="{Binding IsClickable}" CommandParameter="{Binding}" Command="{Binding DataContext.SomeClickCommand, RelativeSource={RelativeSource FindAncestor, AncestorType={x:Type StackPanel}}}" Margin="1"/>
</WrapPanel>
</DataTemplate>
</ListView.ItemTemplate>
</ListView>
</StackPanel>
</Window>
<CheckBox IsChecked="{Binding IsClickable}" CommandParameter="{Binding}" Command="{Binding DataContext.SomeClickCommand, RelativeSource={RelativeSource FindAncestor, AncestorType={x:Type StackPanel}}}" Margin="1"/>
我有一个组合框,它在下拉列表中显示listview,我遵循MVVM模式,我也在我的Viewmodel中设置了公共属性,当我将其分配给标签时,它工作正常,但对于组合框,它似乎不依赖于我的绑定。我尝试了很多方法,但都找不到问题所在。 XAML: 当我使用公共属性并访问它的元素时,这对我来说很好,我还尝试设置text={绑定选择MU.MU_Identifier}和选择值,但它不起作用。
现在,我正在尝试让ListView具有一些可绑定的CustomCells。我将XAML中的单元格定义为DataTemplate下的ViewCell和ListView.ItemTemplate下的ViewCell。 为了简单起见,让我们假设我在单元格中表示了两个字符串。ViewCell看起来如下所示: 编辑1: 我尝试编写一个模仿一些示例的文件,但这还不够。没有一段代码解释该文件是XAML中表示Vi
我试图将列表视图绑定到类的可观察集合,由于某种原因,GridViewColumn的DisplayMemberBinding属性没有绑定到集合的内容。如果我使用ListView.ItemTemplate,一切都很好。但是我需要网格形式的数据,所以我在ListView.View中使用GridView。 第一个映像,映像1是调试模式下的AssessmentSummaryList内容。第二个图像,图像2是
我正在创建一个asp.net页面,允许用户跨多个数据库搜索。 如果找到匹配项,我希望在主ListView中返回数据库名称。然后,我想在相应的数据库名称下,在嵌套的ListView中显示与搜索条件匹配的所有公司。 e. g.搜索:公司 后果 数据库1名称 数据库2名称 数据库3名称 如何引用和填充嵌套的ListView?
本文向大家介绍C#中WPF ListView绑定数据的实例详解,包括了C#中WPF ListView绑定数据的实例详解的使用技巧和注意事项,需要的朋友参考一下 C#中WPF ListView绑定数据的实例详解 WPF中ListView用来显示数据十分方便, 我们可以将它分成几个列,每一个列用来显示一条数据,但是又是在一方之中。 那么怎样实现这样的效果的呢,这就要用绑定了。 我们先来看一看他的xma
我最近正在使用javaFx,并希望通过绑定堆栈更新实现观察者模式,使用javaFx中的ListView或TableView。但是,我不知道要对我的ComplexNumberStack类做什么更改。