如何使用WPF同时选择和更改多个控件的值
本文关键字:控件 WPF 何使用 选择 | 更新日期: 2023-09-27 18:30:12
我是WPF的新手,我想选择多个控件(假设我用鼠标画一个矩形,然后选择这个形状内的控件),并更改它们的值。我该怎么做?顺便说一句,我正在使用MVVM。
在下面的例子中,我有3个滑块,我希望能够选择它们,这样我就可以使用键盘一次控制所有滑块。我知道我不能同时将键盘焦点设置为其中的3个。我该如何完成这项任务?
<Grid>
<Grid.ColumnDefinitions>
<ColumnDefinition Width="*"/>
<ColumnDefinition Width="*"/>
<ColumnDefinition Width="*"/>
</Grid.ColumnDefinitions>
<Slider IsSnapToTickEnabled="True" Grid.Column="0" Ticks="{Binding Slider1Values}" Value="{Binding Slider1Selected}" Orientation="Vertical" HorizontalAlignment="Center" Margin="10"/>
<Slider IsSnapToTickEnabled="True" Grid.Column="1" Ticks="{Binding Slider2Values}" Value="{Binding Slider2Selected}" Orientation="Vertical" HorizontalAlignment="Center" Margin="10"/>
<Slider IsSnapToTickEnabled="True" Grid.Column="2" Ticks="{Binding Slider3Values}" Value="{Binding Slider3Selected}" Orientation="Vertical" HorizontalAlignment="Center" Margin="10"/>
</Grid>
在KeyUp
事件(或您选择的任何事件)中,修改所有3个绑定的值:
private void Window_KeyUp(object sender, KeyEventArgs e)
{
if (e.KeyCode == (Keys.Up)) {
newValue = oldValue + 10;
} else if (e.KeyCode == (Keys.Down)) {
newValue = oldValue - 10;
}
this.Slider1Selected = newValue;
this.Slider2Selected = newValue;
this.Slider3Selected = newValue;
}