如何到达在ItemsControl中创建的按钮对象
本文关键字:创建 按钮 对象 ItemsControl | 更新日期: 2023-09-27 17:54:46
我在UWP中做了这样的按钮:
<ItemsControl x:Name="tStack" Grid.Row="1">
<ItemsControl.ItemsPanel>
<ItemsPanelTemplate x:Name="iPT">
<StackPanel x:Name="tStack1" Orientation="Horizontal"/>
</ItemsPanelTemplate>
</ItemsControl.ItemsPanel>
<ItemsControl.ItemTemplate>
<DataTemplate>
<Button Height="64" Width="64" ToolTipService.ToolTip="{Binding Name}" Click="Button_Click" Tag="{Binding AppUri}" Background="{Binding Color}" >
<StackPanel>
<Image Source="{Binding IconUri}"></Image>
</StackPanel>
</Button>
</DataTemplate>
</ItemsControl.ItemTemplate>
</ItemsControl>
现在,在点击它们之后,我想要将被点击的一个的背景颜色设置为某种颜色,并将其余的背景颜色设置为透明。什么好主意吗?
您可以通过将当前活动的按钮保存到一个变量来跟踪它。然后将所有按钮绑定到同一个click -函数。当任何按钮被单击时,重置活动按钮的背景,将变量更改为被单击的按钮,并将其背景设置为所需的颜色。
Button activeButton;
void Button_Click(Object sender, RoutedEventArgs e)
{
activeButton.Background = null;
activeButton = (Button)sender;
activeButton.Background = Brushes.Blue;
}