У меня есть модель принтера:
public class Printer: BindableBase
{
private bool isDefault = false;
public string Name { get; set; }
public bool IsDefault
{
get { return isDefault; }
set { SetProperty(ref isDefault, value); }
}
}
и модель принтера:
public class PrinterViewModel: BindableBase
{
public ObservableCollection<Printer> Printers { get; set; }
public PrinterViewModel()
{
Printers = new ObservableCollection<Printer>();
LoadPrinters();
}
public void LoadPrinters()
{
Printers.Add(new Printer { Name = "HP" });
Printers.Add(new Printer { Name = "Sony" });
Printers.Add(new Printer { Name = "Samsung" });
Printers.Add(new Printer { Name = "LG" });
Printers.Add(new Printer { Name = "Toshiba" });
}
}
и поле со списком Itemtemplate, чтобы каждый элемент отображался со своим именем в TextBlock и кнопкой, чтобы изменить свойство IsDefault этого элемента:
<ListBox ItemsSource="{Binding Printers }">
<ListBox.ItemTemplate>
<DataTemplate>
<StackPanel Orientation="Horizontal">
<TextBlock Text="{Binding Name}"/>
<Button x:Name="SetDefault" Content="Set as Default"/>
</StackPanel>
</DataTemplate>
</ListBox.ItemTemplate>
</ListBox>
Теперь я хочу изменить свойство «IsDefault» любого элемента, когда для его кнопки «SetDefault» установлено значение «true» и «false» для всех других элементов.
как я могу это сделать?
Спасибо заранее за любую помощь.