C# 如何更改wpf listview项文本
如何在不使用C# 如何更改wpf listview项文本,c#,wpf,listview,C#,Wpf,Listview,如何在不使用listview1.Items[0].Refresh()的情况下更改wpf listview项文本方法 我的xaml代码: <ListView Height="233" HorizontalAlignment="Left" Margin="0,78,0,0" Name="listView1" VerticalAlignment="Top" Width="503" IsSynchronizedWithCurrentItem="True"> <ListV
listview1.Items[0].Refresh()的情况下更改wpf listview项文本代码>方法
我的xaml代码:
<ListView Height="233" HorizontalAlignment="Left" Margin="0,78,0,0" Name="listView1" VerticalAlignment="Top" Width="503" IsSynchronizedWithCurrentItem="True">
<ListView.View>
<GridView>
<GridViewColumn x:Name="GridViewColumnName1" Header="Files" Width="120">
<GridViewColumn.CellTemplate>
<DataTemplate>
<Grid Width="{Binding ActualWidth, ElementName=GridViewColumnName1}">
<StackPanel Orientation="Vertical" Grid.Column="1" Margin="8,0">
<StackPanel Orientation="Horizontal">
<Label Content="{Binding ItemsName,Mode=TwoWay}" Name="listnameLB"></Label>
</StackPanel>
</StackPanel>
</Grid>
</DataTemplate>
</GridViewColumn.CellTemplate>
</GridViewColumn>
</GridView>
</ListView.View>
</ListView>
private ListViewItemsData ListviewObject;
public class ListViewItemsData
{
public string ItemsName { get; set; }
}
private void button2_Click(object sender, RoutedEventArgs e)
{
listView1.Items.Add(new ListViewItemsData()
{
ItemsName = "ABCD"
});
}
private void button1_Click(object sender, RoutedEventArgs e)
{
//ListviewObject = new ListViewItemsData();
ListviewObject = (ListViewItemsData)listView1.Items[0];
ListviewObject.ItemsName = "EFGH";
//listView1.Items.Refresh();
}
我想更改button1事件的“ItemsName”标签内容。ListViewItemsData
类应在数据绑定的setter中实现并引发PropertyChanged
事件ItemsName
属性:
public class ListViewItemsData : INotifyPropertyChanged
{
private string _itemsName;
public string ItemsName
{
get { return _itemsName; }
set { _itemsName = value; OnPropertyChanged(); }
}
public event PropertyChangedEventHandler PropertyChanged;
protected virtual void OnPropertyChanged([CallerMemberName] string propertyName = null)
{
if (this.PropertyChanged != null)
this.PropertyChanged.Invoke(this, new PropertyChangedEventArgs(propertyName));
}
}
(仅适用于)那么这应该有效:
ListviewObject.ItemsName = "EFGH";