0
목록보기의 한 열만 새로 고치는 방법이 있습니까?목록보기에서 하나의 열만 새로 고치는 방법
Listview1.Items.Refresh()
는 전체 목록보기를 새로하지만 난 단 하나의 열
목록보기의 한 열만 새로 고치는 방법이 있습니까?목록보기에서 하나의 열만 새로 고치는 방법
Listview1.Items.Refresh()
는 전체 목록보기를 새로하지만 난 단 하나의 열
이가있는 ListView에서 하나의 속성을 업데이트하기위한 샘플입니다을 새로 고칠.
창 (ListView
및 Button
포함). 뷰에서 ListView
public class ItemViewModel : INotifyPropertyChanged
{
public event PropertyChangedEventHandler PropertyChanged;
protected void OnPropertyChanged(string name)
{
PropertyChangedEventHandler handler = PropertyChanged;
if (handler != null)
{
handler(this, new PropertyChangedEventArgs(name));
}
}
string _first;
public string First
{
get
{
return _first;
}
set
{
_first = value;
OnPropertyChanged("First");
}
}
string _second;
public string Second
{
get
{
return _second;
}
set
{
_second = value;
OnPropertyChanged("Second");
}
}
}
의 항목에 대한 창
public class MainViewModel : INotifyPropertyChanged
{
public RelayCommand DoSomethingCommand { get; set; }
public event PropertyChangedEventHandler PropertyChanged;
protected void OnPropertyChanged(string name)
{
PropertyChangedEventHandler handler = PropertyChanged;
if (handler != null)
{
handler(this, new PropertyChangedEventArgs(name));
}
}
public MainViewModel()
{
Items = new ObservableCollection<ItemViewModel>
{
new ItemViewModel { First = "eins", Second = "zwei" },
new ItemViewModel { First = "drei", Second = "vier" },
new ItemViewModel { First = "fünf", Second = "sechs" }
};
DoSomethingCommand = new RelayCommand(OnDoSomething);
}
private void OnDoSomething()
{
Items.First().First = "sieben";
}
ObservableCollection<ItemViewModel> _items;
public ObservableCollection<ItemViewModel> Items
{
get
{
return _items;
}
set
{
_items = value;
OnPropertyChanged("Items");
}
}
}
뷰 모델에 대한
<StackPanel>
<ListView ItemsSource="{Binding Items}">
<ListView.ItemTemplate>
<DataTemplate>
<Grid>
<Grid.ColumnDefinitions>
<ColumnDefinition Width="100" />
<ColumnDefinition Width="100" />
</Grid.ColumnDefinitions>
<TextBlock Grid.Column="0"
Text="{Binding First}" />
<TextBlock Grid.Column="1"
Text="{Binding Second}" />
</Grid>
</DataTemplate>
</ListView.ItemTemplate>
</ListView>
<Button Command="{Binding DoSomethingCommand}"
Content="Do something" />
</StackPanel>
뷰 모델은 각 항목에 대한 두 TextBlock
와 ListView
있습니다. 버튼을 누르면 첫 번째 항목의 속성 First
이 업데이트됩니다. 이 샘플 코드는 문제를 파악하는 데 도움이 될 것입니다. RelayCommand
은 ICommand
에 대한 것입니다.
WPF를 사용하고 있지 않습니까? –
불행히도 내가 할 –
왜 걱정하지? MVVM 패턴을 따르고 있다면 WPF로 쉬운 작업. 몇 가지 코드를 보여줄 수 있습니까? MVVM을 사용하고 있습니까? –