wpf如何将100个按钮的背景绑定到数组
时间: 2024-02-03 07:13:20 浏览: 119
你可以使用 `ItemsControl` 来绑定一个数组到多个按钮的背景属性。以下是代码示例:
1. 首先,在 XAML 中创建 `ItemsControl`,并将 `ItemsSource` 属性绑定到包含颜色的数组。
```xml
<ItemsControl ItemsSource="{Binding ButtonColors}">
<ItemsControl.ItemsPanel>
<ItemsPanelTemplate>
<UniformGrid Rows="10" Columns="10"/>
</ItemsPanelTemplate>
</ItemsControl.ItemsPanel>
<ItemsControl.ItemTemplate>
<DataTemplate>
<Button Background="{Binding}" Width="20" Height="20"/>
</DataTemplate>
</ItemsControl.ItemTemplate>
</ItemsControl>
```
2. 在 ViewModel 中创建 `ButtonColors` 数组,并将其绑定到视图中的 `ItemsControl`。
```csharp
public class MainViewModel : INotifyPropertyChanged
{
private SolidColorBrush[] _buttonColors;
public SolidColorBrush[] ButtonColors
{
get { return _buttonColors; }
set
{
_buttonColors = value;
OnPropertyChanged(nameof(ButtonColors));
}
}
public MainViewModel()
{
// 初始化按钮颜色数组
ButtonColors = new SolidColorBrush[100];
for (int i = 0; i < 100; i++)
{
ButtonColors[i] = new SolidColorBrush(Colors.White);
}
}
// INotifyPropertyChanged 实现省略
}
```
这样,你就可以将一个颜色数组绑定到多个按钮的背景属性,从而实现你的需求。
阅读全文