Hỏi đáp
Chia sẻ kiến thức, cùng nhau phát triển
Tao button bang codeC# trong mvvm(đè tài quản lý quán cafe)
mình muốn tạo đoạn code đề tự động tạo bàn(theo dữ liệu của sql) cho ứng dung này mà không biet cách nào de cko nó tạo vào cko wrappanal co ai bik ko chỉ mình voi
//doan code tạo
public class UsercontrolViewModel: BaseViewModel
{
private ObservableCollection<TableFood> _Tablelist;
public ObservableCollection<TableFood> Tablelist { get => _Tablelist; set { _Tablelist = value; OnPropertyChanged(); } }
public static double TableHeigt = 50;
public static double TableWidth = 50;
public UsercontrolViewModel()
{
Tablelist = new ObservableCollection<TableFood>(DataProvider.Ins.DB.TableFoods);
foreach (TableFood item in Tablelist)
{
Button btn = new Button() { Width = TableWidth, Height = TableHeigt };
btn.Content = item.name + Environment.NewLine + item.status;
}
}
- Dùng cách này thử ::
public ICommand loadCommand { get; set; }
loadCommand = new RelayCommand<object>((p) => true, (p) =>
{
(p as WrapPanel).Children.Add(new Button()); // tạo button rồi thêm vào
});
- Trên view dùng interactive command gọi sự kiện Loaded trong wrappanel truyền vào cái loadcommand và tham số là cái wrappanel cần thêm button
<i:Interaction.Triggers>
<i:EventTrigger EventName="Loaded">
<i:InvokeCommandAction Command="{Binding Ten Command}"
CommandParameter="{Binding ElementName=Ten wrappanel}"/>
</i:EventTrigger>
</i:Interaction.Triggers>